Input/output
This article needs additional citations for verification. (November 2019) |
Operating systems |
---|
Common features |
In computing, input/output (I/O, i/o, or informally io or IO) is the communication between an information processing system, such as a
I/O devices are the pieces of
The designation of a device as either input or output depends on perspective. Mice and keyboards take physical movements that the human user outputs and convert them into input signals that a computer can understand; the output from these devices is the computer's input. Similarly, printers and monitors take signals that computers output as input, and they convert these signals into a representation that human users can understand. From the human user's perspective, the process of reading or seeing these representations is receiving output; this type of interaction between computers and humans is studied in the field of human–computer interaction. A further complication is that a device traditionally considered an input device, e.g., card reader, keyboard, may accept control commands to, e.g., select stacker, display keyboard lights, while a device traditionally considered as an output device may provide status data (e.g., low toner, out of paper, paper jam).
In computer architecture, the combination of the
Interface
An I/O interface is required whenever the I/O device is driven by a processor. Typically a CPU communicates with devices via a bus. The interface must have the necessary logic to interpret the device address generated by the processor. Handshaking should be implemented by the interface using appropriate commands (like BUSY, READY, and WAIT), and the processor can communicate with an I/O device through the interface. If different data formats are being exchanged, the interface must be able to convert serial data to parallel form and vice versa. Because it would be a waste for a processor to be idle while it waits for data from an input device there must be provision for generating interrupts[2] and the corresponding type numbers for further processing by the processor if required.[clarification needed]
A computer that uses
Higher-level implementation
Higher-level
In the context of the ALGOL 68 programming language, the input and output facilities are collectively referred to as transput. The ALGOL 68 transput library recognizes the following standard files/devices: stand in
, stand out
, stand errors
and stand back
.
An alternative to special primitive functions is the
Channel I/O
Channel I/O requires the use of instructions that are specifically designed to perform I/O operations. The I/O instructions address the channel or the channel and device; the channel asynchronously accesses all other required addressing and control information. This is similar to DMA, but more flexible.
Port-mapped I/O
Direct memory access
Direct memory access (DMA) is a means for devices to transfer large chunks of data to and from memory independently of the CPU.
See also
References
- ^ ISBN 0763737690. Archivedfrom the original on 20 December 2016. Retrieved 11 December 2016.
- ^ ISBN 9780471478331. Archivedfrom the original on 21 December 2016. Retrieved 11 December 2016.
External links
- Media related to Input/output at Wikimedia Commons