Lecture Notes for Operating Systems
Introduction to Input-Output, 11 October 2000
- hardware
- io devices - block or character, random or sequential, serial or
parallel
- device controller or adapter
- front-end interface, towards the cpu -
scsi, ide (integrated or
intelligent drive electronics)
- back-end interface, towards the device - whatever the device
presents
- bridging the interfaces - packaging and unpackaging data, error
detection and correction
- cpu connection to device - bus or i-o channel
- dma - what transfers data between main store and the device driver?
- the cpu can do it - ties up the cpu
- the device can do it - ties up the bus (dual porting)
- software
- objectives - uniformity, device independence
- interrupts
- block processes on devices, waiting for an interrupt to awaken
- interrupt handler deals with the device, unblocks a sleeper
- device drivers
- one driver per device controller; may have several drivers per
device controller, e.g. raw, formatted, rewind norewind tape access
- device independent front-end, device dependent back-end
- front-end presents a device-independent interface.
- back-end contains controller specific information
- device independence
- interface
- naming
- protection
- buffering
- error reporting
- user-space io
- libraries and system calls
- os-external support software - spoolers and daemons, mail, printing,
netnews
This page last modified on 12 October 2000.