next up previous
Next: Hardware Aspects Up: No Title Previous: Clock Dispatcher

Input/Output

A cpu is connected to one or more devices with which it can communicate information. Examples of these devices are disks, terminals and magnetic tapes. Each of these devices defines a hardware interface which may be used by a program to communicate with it. This interface, however, is low-level and unusable by most programs. Therefore an operating system provides a high-level input/output interface which user programs use to interact with devices. This interface serves two purposes:

It embellishes the low-level hardware interface. This feature is consistent with an operating system's goal of `beautifying' the physical machine to give a more pleasant virtual machine.

It provides fair, safe, and efficient policies to share a common pool of devices.

The hardware interface provided by a device, the (high-level) I/O interface that embellishes it, and the implementation of the I/O have both some device independent and dependent components. We shall first study the device independent parts of the three, and then the device dependent aspects as we cover each device individually. Our discussion will be centered around the XINU OS and 11/2 hardware.




Prasun Dewan
Tue Feb 12 13:32:55 EST 2002