(Latest Revision: Thu Jun 6, 2019)
[2019/06/06: first full version for 10th edition]
Chapter Twelve -- I/O Systems -- Lecture Notes
Intro
I/O is one of the main jobs of a computer. This chapter
furnishes insights regarding the capabilities and limitations of I/O hardware.
It also discusses I/O services, the relationship between the I/O hardware
and the application interface, UNIX System V STREAMS, and I/O performance.
12.0 Objectives
12.1 Overview
12.2 I/O Hardware
Figure 12.1: A typical PC bus structure
12.2.1 Memory-Mapped I/OFigure 12.2: Device I/O port locations on PCs (partial)
12.2.2 Polling
12.2.3 InterruptsFigure 12.3: Interrupt-driven I/O cycleFigure 12.4: Latency command on Mac OS XFigure 12.5: Intel Pentium processor event-vector table
12.2.4 Direct Memory AccessFigure 12.6: Steps in a DMA transfer
12.2.5 I/O Hardware Summary
12.3 Application I/O Interface
Figure 12.7: A kernel I/O structureFigure 12.8: Characteristics of I/O devices
12.3.1 Block and Character Devices
12.3.2 Network Devices
12.3.3 Clocks and Timers
12.3.4 Nonblocking and Asynchronous I/OFigure 12.9: Two I/O methods: (a) synchronous and (b) asynchronous