Given this diagram:
Why is it that there is no transition from READY to WAITING?
Given the diagram above the is that for the definition that those jobs queued in the READY state are all ready in every aspect as of to be used by the CPU. While in the WAITING state are for those jobs that are still waiting external or peripheral devices that is needed by job before being acknowledged to be used by the CPU, so in the narrowest sense, after the jobs received the needed responses from the certain external and peripheral devices they can now be processed by the CPU. So by looking in the diagram it is possible that from the WAITING state, provided that jobs were able to receive the needed responses they can now be loaded to the READY state, on the other hand if while in the READY state a job encountered a failure from a required device which reults that the said job be unable to proceed, then being subjected in this kind of scenario the job is sent NOT in the WAITING state but back in the HOLD state. So only WAITING state to READY state has a transition but the transition of READY state to WAITING state is impossible.
Why is it that there is no transition from WAITING to RUNNING?
From the HOLD state, jobs are then loaded to the READY state and the jobs have to wait for the appropriate responses by the peripheral devices. If by then the responses are given then now the jobs can be loaded to the RUNNING state and if an I/O request page fault occurs then the process scheduler then needs to load it in the WAITING state instead of finishing the job. So if there is a transition from WAITING to RUNNING state clearly then it won’t be possible, for the jobs that encountered the said error was loaded to the WAITING state. It should be that after the error encountered jobs are loaded in WAITING state then waits for the signal to continue processing then only after that will the jobs be loaded back to the READY state. So why does the jobs that encountered error be loaded back to the READY state? For it is in the READY state that the jobs wait again for the responses of the I/O devices and then only after that the the process scheduler can select the jobs truly ready to be processed by the CPU. By bypassing the READY queue would make process management impossible.
No comments:
Post a Comment