Input and Output

Revison Computing Studies


In computing, input/output or I/O is the communication between an information processing system (such as a computer) and the outside world, possibly a human or another information processing system usually a computer. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it. For instance, a keyboard or a mouse may be an input device for a computer, while monitors and printers are output devices for a computer. Devices for communication between computers, such as modems and network cards are both input and output.

Simple I/O

Mouse and keyboards take as input physical movement that the person controlling the devices does and converts

it into signals that a computer can understand. The output from these devices is input for the computer. Printers and monitors take as input signals that a computer outputs. For example when you tell the computer to print something, the computer outputs information to the printer and the printer inputs this information and then prints whatever the output from the computer has sent it. They then convert these signals into representations that human users can see or read. For a human anything that they can see or read is output from the computer and the human inputs it into their memory so I/O is also not only used in technological terms.

The Interface

An I/O interface is required whenever the I/O device is driven by the processor. The interface must have necessary knowledge 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. Handshaking in the easiest way possible to describe is the interface and the processor or another device talking to one another. For example Bluetooth. When you search for another phone and you connect the phones are handshaking and then connected. If two devices trying to handshake but one device is more upgraded or ran on completely different software they will not be able to handshake because the two types of software will not connect to one another that is why sometimes Bluetooth will not connect to other peoples phones. If different data formats are being exchanged, the interface must be able to convert data from different forms and vice-versa. There must be provision for generating interrupts and the corresponding type numbers for further processing by the processor if required. A computer that uses memory-mapped I/O accesses hardware by reading and writing to specific memory locations, using the same assembly language instructions that computer would normally use to access memory. In other words saying that if you have saved a email or something into your documents or put data somewhere on the software only that data can be retracted by that database and that software that put it there by using the same language instructions that a computer would use to access memory.


Higher Level Operating

This is very high level of programming that you must know what C and C++ programming languages are and also the language of ALGOL 68. Without knowing these languages then this paragraph is not helpful to you.

Higher-level operating system and programming facilities employ separate, more abstract I/O concepts and primitives. For example, most operating systems provide application programs with the concept of files. The C and C++ programming languages, and operating systems in the Unix family, traditionally abstract files and devices as streams, which can be read or written, or sometimes both. The C standard library provides functions for manipulating streams for input and output. 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 I/O monad, which permits programs to just describe I/O, and the actions are carried out outside the program. This is notable because the I/O functions would introduce side-effects to any programming language, but this allows purely functional programming to be practical.

To conclude

In conclusion, Input and Output devices are everywhere. To make a computer work you need a input cable to connect your mouse and keyboard to your computer. To listen to music from your Ipod you need a output cable connected to your speakers or earphones to listen to the music. To watch TV you need input from the box that has the channels and then output to your surround sound speakers to listen to your TV.