Operating System ECET
Operating System ECET
CPU Scheduling: Basic concepts, Scheduling criteria, Scheduling algorithms, Multiple processor
scheduling.
Process scheduling:
The process scheduling is the activity of the process manager that handles the removal of the running
process from the CPU and the selection of another process on the basis of a particular strategy. Process
scheduling is an essential part of a Multiprogramming operating systems. Suchoperating systems allow
more than one process to be loaded into the executable memory at a time and the loaded process
shares the CPU using time multiplexing.
The OS maintains all PCBs in Process Scheduling Queues. The OS maintains a separate queue for each of
the process states and PCBs of all processes in the same execution state are placed in the same queue.
When the state of a process is changed, its PCB is unlinked from its current queue and moved to its new
state queue.
The Operating System maintains the following important process scheduling queues −
Job queue − This queue keeps all the processes in the system.
Ready queue − This queue keeps a set of all processes residing in main memory, ready and
waiting to execute. A new process is always put in this queue.
Device queues − The processes which are blocked due to unavailability of an I/O device
constitute this queue.
––––
The OS can use different policies to manage each queue (FIFO, Round Robin, Priority, etc.). The OS
scheduler determines how to move processes between the ready and run queues which can only have
one entry per processor core on the system; in the above diagram, it has been merged with the CPU.
1. Running
2. Not Running
Running: In the Operating system, whenever a new process is built, it is entered into the system, which
should be running.
Not Running:The process that are not running are kept in a queue, which is waiting for their turn to
execute.Each entry in the queue is a point to a specific process.
Long-Term Scheduler
Short-Term Scheduler
Medium-Term Scheduler