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.