5.1 Principles of I/O Hardware
5.1.1 I/O Devices
5.1.2 Device Controllers
5.1.3 Memory-Mapped I/O
5.1.4 Direct Memory Access
5.1.5 Interrupts Revisited
5.2 Principles of I/O Software
5.2.1 Goals of the I/O Software
5.2.2 Programmed I/O
5.2.3 Interrupt-Driven I/O
5.2.4 I/O Using DMA
5.3 I/O Software Layers
5.3.1 Interrupt Handlers
5.3.2 Device Drivers
5.3.3 Device-Independent I/O Software
5.3.4 User-Space I/O Software
5.4 Mass Storage: Disk and SSD
5.4.1 Magnetic Disks
5.4.2 Solid State Drives (SSDs)
5.4.3 RAID
5.5 Clocks
5.5.1 Clock Hardware
5.5.2 Clock Software
5.5.3 Soft Timers
5.6 User Interfaces: Keyboard, Mouse, & Monitor
5.6.1 Input Software
5.6.2 Output Software
5.7 Thin Clients
5.8 Power Management
5.8.1 Hardware Issues
5.8.2 Operating System Issues
5.8.3 Application Program Issues
5.9 Research on Input/Output