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?
Job queue contains the set of all processes in the system and ready queue contains the set of all processes residing in main memory and awaiting execution. Job queue consists of all the processes where ready queue contains processes which are waiting for execution is the major difference.
A job queue contains an ordered list of jobs waiting to be processed by a subsystem. The job queue is the first place that a submitted batch job goes before becoming active in a subsystem. The job is held here until a number of factors are met.
The ready queue is a simplified version of a kernel data structure consisting of a queue with one entry per priority. Each entry in turn consists of another queue of the threads that are READY at the priority. Any threads that aren't READY aren't in any of the queues—but they will be when they become READY.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With