<programming, operating system>

(I/O) Communication between a computer and its users, its storage devices, other computers (via a network) or the outside world. The devices the computer uses to do this are called "peripherals". What actually counts as I/O depends on what level of detail you are considering, e.g. communication between processors would not be considered I/O when considering a multiprocessor as a single system.

Important aspects of I/O are throughput, latency, and whether the communications is synchronous or asynchronous (using some kind of buffer).

Last updated: 2003-12-04

input/output redirection

<operating system>

In Unix, to send ouput from a process to different file or device or to another process via a pipe, or to have a process read its input from a different file, device or pipe. Some other operating systems have similar facilities.

To redirect input to come from a file instead of the keyboard, use "<":

 myprog < myfile

Similarly to redirect output to a file instead of the screen:

 ls > filelist

A pipe redirects the output of one process directly into the input of another

 who | wc -l

A common misuse by beginners is

 cat myfile | myprog

Which is more or less equivalent to "myprog < myfile" except that it introduces an extra unnecessary cat process and buffer space for the pipe. Even the "<" is unnecessary with many standard Unix commands since they accept input file names as command line arguments anyway.

Unix's concept of standard input/output and I/O redirection make it easy to combine simple processes in powerful ways and to use the same commands for different purposes.

Last updated: 1998-04-24

Nearby terms:

input deviceinput/outputinput/output redirectioninquiry/response system

Try this search on Wikipedia, OneLook, Google