- Efficiency
- Most I/O devices slow compared to main memory (and the CPU)
- Use of multiprogramming allows for some processes to be waiting on I/O while another process executes
- Often I/O still cannot keep up with processor speed
- Swapping may used to bring in additional Ready processes; More I/O operations
- Optimise I/O efficiency especially Disk & Network I/O
- The quest for generality/uniformity:
- Ideally, handle all I/O devices in the same way; Both in the OS and in user applications
- Problem:
- Diversity of I/O devices
- Especially, different access methods (random access versus stream based) as well as vastly different data rates.
- Generality often compromises efficiency!
- Hide most of the details of device I/O in lower-level routines so that processes and upper levels see devices in general terms such as read, write, open, close, lock, unlock
2004-05-09