<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).
<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.
(1998-04-24)
Nearby terms:
input « input device « input/output « input/output redirection » inquiry/response system » INRIA » insanely great