Scheduling Algorithm

The Monitor maintains a queue of processes currently in the system. Only one job is active and the others are paused, awaiting the services of the CPU. The processes in the queue are maintained in increasing order of priority, with the head of the queue having the highest priority. A process priority is determined by two factors:

Interactive processes are favored by increasing their priority. As a process outputs characters to the terminal, it migrates up the priority queue. When a process receives terminal input, it is moved to the head of the queue for immediate activation.

When the number of units of a resource consumed reaches the weighting factor, the process is moved up or down in the priority queue one position and the resource unit count is reset to zero. As a process consumes system resources (CPU time and disk reads), it gets pushed down the queue. If a process is currently waiting for a system resource to become available, for example, a frame fault, the process is said to be roadblocked, and is pushed down one position in the queue.

See Also

Frames

Linking Frames

I/O Devices

Monitor

Memory Management

Frame Requests and Frame Faults

Concept of a Process

Process Identification Blocks

User Pibs and Phantom Pibs

Scheduler

Super High Priority Process