Input-output (I / O) in computer science is defined as the interaction between an information processor (for example, a computer) and the outside world, which can be represented by either a person or any other info processing system.
Input is a signal or data, which the system receives. The output is a signal or data sent from the system. The term can also be used as a designation of a specific action: "perform I/O" means the execution of input or output operations.
I / O devices are used by a person (or other system) to interact with a computer. For example, keyboards and mice are specially designed computer input devices, while monitors and printers are computer output devices. Devices for interaction between computers, such as modems and network cards, usually serve as input and output devices at the same time.
Mice and keyboards receive the physical action performed by the human user and turns it into signals understandable to the computer; the output of information from these devices is input into the computer. Similarly, printers and monitors receive input signals that the computer sends out, and these signals are converted into a format that a user can see or read.
The I / O interface requires the processor control of each device. The interface must have the appropriate logic to interpret the device address generated by the processor.
The establishment of the contact must be realized by the interface with the help of appropriate commands, so that the processor can interact with the input/output device through the interface.
If there is a need to transfer different data formats, the interface must be able to convert sequential (ordered) data into a parallel form and vice versa.
It should be possible to generate interrupts and corresponding types of numbers for further processing by the processor (if necessary).
A computer that uses I / O with memory allocation, accesses the hardware by reading and writing to specific locations. This process employs the same assembler language instructions that the computer normally uses when accessing memory.