Using the process state diagram, explain why there is no transition:
- · From the READY to WAITING.
- · From the WAITING to RUNNING
A process goes through a series of discrete process states. Transition is the process through which an existing circumstance, condition, or relationship (real or imagined) is acted on in a manner that produces a new and different circumstance or condition. When a process is first created, it occupies the “Hold” state. In this state, the process awaits admission to the “Ready” state, as illustrated above. When this admission is approved by the job scheduler, it is then set in the “Ready” state. Processes that are ready for the CPU are kept in this queue. Also, in this state, there is temporarily no CPU available for it. If there is already an available CPU that may allocate the process, it will lead to a “Running” state. In this state, the process is currently executing on a CPU. When the process or job has already finished execution, it will not be sent to the “Finished” state. In some cases, a process or job is put into the “Waiting” state if it requests an external event to be executed such as an I/O request. Also, a transition between “Running” and “Ready” state occurs when the scheduler decides that the running process has long enough and it is time to let another process have a CPU time. The transition between “Waiting” and “Ready” state occurs when the external event the process or job has been waiting finally happened then it will be signalled to continue processing through the “Ready” state. And the cycle goes on.
FROM THE READY TO WAITING
A job or process in the “Ready” queue will soon make use of the CPU. A job or process in the “Waiting” queue is waiting for an input that is not yet available. So when a job in the Ready queue fails to continue because it needs a device that will enable it to perform in the Running state, it will not proceed to the Waiting queue but instead it will go back to the “Hold” state. This is because it will again wait for an admission from the CPU that it is ready enough to be processed.
FROM THE WAITING TO RUNNING
When a job or process in the Waiting state was given the event for it continue executing, it will first go to the Ready state before it is processed as with the Running State. This is because, processes entering the system must go initially into the Ready state and processes can only enter the Running state via the Ready state. Bypassing or obstructing the Ready queue will not make a successful performance of the process management.