- 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