I/O Structure
I/O Calls
Blocking I/O
- User program requests I/O, control returns to user program only upon I/O completion.
- CPU may be allocated to another process.
Non-Blocking I/O
- After I/O starts, control returns to user program without waiting for I/O completion.
Direct Memory Access (DMA) Structure
- Used for high-speed I/O devices able to transmit information at close to memory speeds.
- Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention.
- Only one interrupt is generated per block, rather than the one interrupt per byte.