Search code examples
operating-systemschedulingscheduler

The job queue and the ready queue


What is the difference between the job queue and the ready queue and are they mutually exclusive?

The ready queue contains all the process stored in main memory, awaiting execution or simply all the processes that are ready to execute - which can be in the job queue?

When a new process is created which queue does it go to first?


Solution

  • The ready queue is a queue of all processes that are waiting to be scheduled on a core/CPU. The process's code or data pages do not necessarily need to be in main memory. If the OS uses demand paging, new processes are placed in the ready queue even though no pages are allocated to the process. Non-demand paged systems will preallocate pages to a process before it goes in the ready queue.

    According to this the job queue is the list of processes that reside on mass storage and await main memory allocation.

    So in a non-demand paged system the job queue and ready queue are mutually exclusive, and a new process goes in the job queue.