I am currently revising for an exam and have come across a question that I am really not sure of.
1) Produce a clearly labeled diagram indicating the THREE states a process can take in a single-processor multitasking operating system.
This question im okay on (i think) my understanding is that a process state can be any of the states bellow. And a process will change its state as it gets passed around into different queues during its life cycle.
The question I ama having issues with is.
2) What changes would need to be incorporated to the three state diagram above for an OS running on a dual-core system?
I cant seem to find any information online, in my notes of in the book im using, OS Concepts by Silberschatz.
What i have found is a medium term scheduler which introduces two new states, Ready waiting and Ready blocked.
If someone could shed some light on this for me, or point me in the right direction on where to look it would be a big help.
Thank you.
Process states are entirely system specific. You asked specifically for Linux (not my OS of greatest knowledge) but my understanding is that Linux views process states differently from what is in that diagram.
In doing a search I found a number of conflicting Linux process state diagrams but this one matches my understanding of how Linux views states.
Linux appears to allow 6 states.
If you are viewing the states from the point of view of the process, the answer is none.
In my opinion there are two different possibility
First
Process states diagrams same as multiple core system,maybe there will be two running state,scheduler dispatch choose which process goes which core(running states) to start running
Second
process states diagrams folds to 2,every core have their ready ,running,and waiting queue,process sharing is costly transaction on cores,therefore every core should have own ready and running and waiting queue,if a process enter a one core,it must be finished this core,