Hi just wanted to clarify my understanding of transitions (i.e. a process that is changing state e.g. RUNNING -> BLOCKED). I've read all the posts on this forum (and there have been some previous ones on similar topics) but none of them seem to clarify this:
When a transition occurs, to my understanding, the OS performs an operation on the CPU. The duration of this CPU operation is specified in the project requirements (e.g. 5usec for READY -> RUNNING, 10usec for other transitions).
Do these OS-triggered transitions need to be queued (on the ready queue). Or do we assume that the transition occurs instantly (taking over what was on the CPU).
For example, if a process is moving from BLOCKED -> READY, does the "transition" immediately start taking up CPU time (causing the currently running CPU process to be "put on pause" while this occurs)? Or does this "transition" get "enqueued" onto the ready queue - if so, does the delay in this transition being performed (as it waits to get to the CPU) affect the original process?
Hope this makes sense. Any clarification would be amazing!