What is Process Scheduling Queues

Process Scheduling Queues


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.
·         All processes when enters into the system are stored in the job queue.
·         Processes in the Ready state are placed in the ready queue.
·         Processes waiting for a device to become available are placed in device queues. There are unique device queues for each I/O device available.
A new process is initially put in the ready queue. It waits in the ready queue until it is selected for execution(or dispatched). Once the process is assigned to the CPU and is executing, once of several events could occur.
·         The process could issue an I/O request, and then be placed in an I/O queue.
·         The process could create a new subprocess and wait for its termination.

·         The process could be removed forcibly from the CPU, as a result of an interrupt, and be put back in the ready queue.

Comments

Popular posts from this blog

Write C programs to simulate the Paging techniques of memory management

Write C programs to simulate the Two level directory File organization technique

Write C programs to simulate the Hierarchical directory File organization technique