- Categories of I/O Devices (by usage)
- Human readable
- Used to communicate with the user
 
- Printers, Video Display, Keyboard, Mouse
 
 
- Machine readable
- Used to communicate with electronic equipment
 
- Disk and tape drives, Sensors, Controllers, Actuators
 
 
- Communication
Figure 5.1:
A kernel I/O structure.
| 
 | 
 
- Used to communicate with remote devices
 
- Ethernet, Modems, Wireless
 
 
 
- I/O system calls abstract device behaviors in generic classes (see Fig. 5.1)
 
- Device-driver layer hides I/O-controller differences from kernel
 
- Devices vary in many dimensions
- character-stream or block
 
- sequential or random-access
 
- sharable or dedicated
 
- speed of operation
 
- read-write, read only, or write only
 
 
- Block and Character Devices; Block devices include disk drive   
- commands include read, write, seek
 
- raw I/O or file-system access
 
- file system maps location i onto block + offset
 
- memory-mapped file access possible 
 
 
- Character devices include keyboard, mouse, serial port
- commands include get, put
 
- libraries layered on top allow line editing
 
 
2004-05-25