Safekipedia
Input/output

Input/output

Adapted from Wikipedia · Discoverer experience

In computing, input/output (I/O, i/o, or informally io or IO) is the way a computer talks to the world outside itself. This includes other computers, devices like printers, or even people. When we talk about inputs, we mean the information or signals that the computer receives. Outputs are the signals or data the computer sends out.

I/O devices are the tools that help people and computers talk to each other. For example, a keyboard or computer mouse is an input device because they let you give information to the computer. On the other hand, things like monitors and printers are output devices because they show or print out what the computer decides to show you. Some devices, like modems and network cards, can do both — they can send information out and receive it back.

The way we see if a device is input or output can change depending on who you ask. For a user, typing on a keyboard is an output because you’re sending information out, but for the computer, that typing is an input because it’s receiving the information. The same idea works for devices like printers — they receive information from the computer and turn it into something we can see or hold. This back-and-forth is an important part of how computers and people work together, a field known as human–computer interaction.

Inside the computer, the CPU and main memory are like the brain. Any time information moves in or out of this brain — like when you load a file from a disk drive — that’s I/O. Computers have special ways to handle this, like memory-mapped I/O, which helps them manage tasks like talking to devices through device drivers or using I/O channels. All of this makes sure that computers can efficiently move data, whether it’s saving a picture or loading a game.

Interface

An I/O interface helps a computer talk to devices like keyboards or printers. It uses special signals to make sure the computer knows when the device is ready to send or receive information. This way, the computer doesn’t waste time waiting around.

Computers can handle inputs and outputs in different ways. Some use special memory spots to communicate with devices, while others need unique commands. Programs and operating systems also have their own ways to manage inputs and outputs, making it easier for software to work with hardware.

Channel I/O

Channel I/O uses special instructions to handle input and output tasks. These instructions talk directly to the channel or both the channel and device. The channel then handles all the other details needed to control and address the information, working independently of the main system. This method is like direct memory access (DMA) but offers more flexibility.

Main article: Channel I/O

Port-mapped I/O

Port-mapped I/O uses special instructions to communicate with devices. Each device is assigned one or more ports, and each port has a specific purpose. These port numbers are kept in a special area separate from the normal memory addresses used by the computer's regular instructions.

Direct memory access

Direct memory access (DMA) is a way for devices to move large amounts of data to and from memory without needing constant help from the computer's main processor. This makes data transfers faster and more efficient.

This article is a child-friendly adaptation of the Wikipedia article on Input/output, available under CC BY-SA 4.0.