PPT Slide
- Instead, we insert the disk request in a queue structure, schedule the disk I/O to happen, and call the Dispatcher() to find another process to run.
- Note that like with Wait() processing, we set the caller’s state to Blocked, since it can’t continue until the disk activity has completed.
- ScheduleDisk()
- Returns if disk busy
- If not busy, gets the next disk request from the disk request queue and issues the disk request (via IssueDiskRead() or IssueDiskWrite())
- The IssueDisk functions use memory-mapped I/O to set up the 2-word disk request structure, with interrupts enabled
- At some point in the future, the disk interrupt handler is called when the disk controller fires off the interrupt
-
-
-