Consider a process P running on a CPU. Which one or more of the following events will always trigger a context switch by the OS that results in process P moving to a non-running state (e.g., ready, blocked)?
- (A)
P makes a blocking system call to read a block of data from the disk
- (B)
P tries to access a page that is in the swap space, triggering a page fault
- (C)
An interrupt is raised by the disk to deliver data requested by some other process
- (D)
A timer interrupt is raised by the hardware
