I/O

Important Charecteristics of I/O devices

Disks

Disks consist of a collection of platters, each of which has two surfaces. Each surface is divided into a number of tracks (500 to 2000) and each track into a number of sectors (usually 512 bytes). Reading something from a disk involves positioning the magnetic head over the appropriate track and waiting for the appropriate sector to rotate under the head. Disk latencies are fairly high. Positioning the head (seeking) takes between 10 and 20 msec, while rotational latency is between 5 and 8 msec.

Networks

Networks are the major medium used to communicate between computers. Networks can span any distance, from small local area networks (i.e ethernet), to wide area networks (i.e. internet). Communication over a network can be seen at multiple layers starting from the raw wire, all the way to what the application sees. ISO has standardized a set of layers that are built on top of the raw wire abstraction and facilitate the way we think (and implement) network communication. There are 7 layers:

Important Network Characteristics

Important Network Characteristics include the degree (maximum number of connection to any node), the diameter (the maximum number of nodes a message need to traverse before it reaches its destination), and the bisection bandwidth. Bisection bandwidth is the amount of data that can go through a cut in the network. That is if we divide the network in two parts at what rate can these two parts communicate.

Buses

Buses are used to connect multiple devices cheaply. Buses consist of a set of lines for address, another set for data, and another set for control. Buses can be synchronous or asynchronous. Synchronous buses expect operations to take a fixed amount of time, while asynchronous buses go through a handshaking protocol to determine when operations start and when they end. When a device needs access to a bus it needs to arbitrate with other (possibly competing devices). Arbitration can be done in a number of ways. The simplest is to use a central arbiter. Arbitration by collision detection is a particularly interesting variation since it does not require any specialized hardware. In this scheme each device requests the bus and monitors the bus to make sure it is the only one requesting it. If it detects a collision it then backs off for a random amount of time. The scheme is used on Ethernet based networks.