Many computational science applications generate huge amounts of data which must be transferred between main memory and I/O devices such as disk and tape. We will not attempt to characterize file I/O in this chapter since the devices and their connections to the rest of the system tend to be idiosyncratic. If your application needs to read or write large data files you will need to learn how your system organizes and transfers files and tune your application to fit that system. It is worth reiterating, though, that performance is measured in terms of bandwidth: what counts is the volume of data per unit of time that can be moved into and out of main memory.
The rest of this section contains a brief discussion of video displays. These output devices and their capabilities also vary from system to system, but since scientific visualization is such a prominent part of this book we should introduce some concepts and terminology for readers who are not familiar with video displays.