We will define input/output as a subsystem of components that moves coded data between external devices and a host system, consisting of a CPU and main memory. I/O subsystems include but are not limited to:
Blocks of main memory that are devoted to I/O functions
Buses that provide the means of moving data into and out of the system
Control modules in the host and in peripheral devices
Interfaces to external components such as keyboards and disks
Cabling or communications links between the host system and its peripherals
Figure 7.1 shows how all of these components can fit together to form an integrated I/O subsystem. The I/O modules take care of moving data between main memory and a particular device interface. Interfaces ...