Advanced System Software and Security: Question 1

Syllabus 16.1

Multiple choice A2 1 mark

A word-processing application is currently in the running state on a single-processor computer. It is the process actually being executed by the CPU right now. The application then requests to read a large file from the hard disk. This disk read will take a significant amount of time to complete, during which the application cannot do anything further with the data it has requested.

Which of the following correctly identifies the process state transition that occurs for this application at the moment the disk read is requested, and the reason for it?

Choose an answer to check it, then compare with the worked solution below.

Show worked solution Hide worked solution

Worked solution

Why B is correct

At any moment, a process being managed by the operating system is in one of three states: running (currently being executed by the CPU), ready (waiting only for its turn on the CPU. Everything else it needs is already available), or blocked (waiting for something other than the CPU, such as an I/O operation, to complete).

The word-processing application starts this scenario in the running state. As soon as it requests a disk read, it cannot make any further progress until that data arrives, it isn’t waiting for the CPU, it’s waiting for the disk. The operating system’s scheduler therefore removes it from the CPU and places it in the blocked state, excluding it from being selected to run again until the disk read finishes. Only once the disk read completes. An event the kernel detects and handles as an interrupt, does the application move from blocked to ready, becoming eligible for the CPU once more.

Why the other options are wrong

  • A: describes what happens when a running process is pre-empted because its time quantum has expired (running to ready). The process hasn’t finished its work, but it is still able to run immediately once selected again, since it isn’t waiting on anything else. That is a different trigger from waiting on a disk read, which forces a move to blocked, not ready.
  • C: reverses the situation described. The application was in the running state immediately before this event, not blocked, so it cannot transition FROM blocked. The blocked to ready transition genuinely happens later, once the disk read finishes.
  • D: confuses two separate interrupts. The interrupt that matters for scheduling here is the one raised when the disk read completes (handled later, moving the process from blocked to ready), not an interrupt “generated by the request” that immediately restarts the process. Making a resource request does not put a process straight back into the running state.

Final answer

B. The application transitions from running to blocked, because it cannot continue executing until its disk read completes, so the operating system removes it from the CPU and does not schedule it again until the requested data is ready.