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
Post a Comment