Chapter 4 Input Output Management
Chapter 4 Input Output Management
I/O Management
Categories in I/O Devices
• After the controller has read the entire block from the device
into its buffer and verified the checksum, it copies the first
byte or word into the main memory at the address specified
by the DMA memory address.
• Then it increments the DMA address and decrements the
DMA count by the number of bytes just transferred.
• This process is repeated until the DMA count becomes zero
at which time the controller causes an interrupt.
I/O Buffering
• Block-oriented
– Information is stored in fixed sized blocks
– Transfers are made a block at a time
– Used for disks and USB keys
• Stream-oriented
– Transfer information as a stream of bytes
– Used for terminals, printers, communication ports,
mouse and other pointing devices, and most other
devices that are not secondary storage
Single Buffer
• Block-oriented
– User process can process one block of data
while next block is read in
– Swapping can occur since input is taking
place in system memory, not user memory
– Operating system keeps track of assignment
of system buffers to user processes
Single Buffer
• Stream-oriented
– Used a line at time
– User input from a terminal is one line at a time
with carriage return signaling the end of the
line
– Output to the terminal is one line at a time
Single Buffer
Double Buffer