
The CPU must have a way to pass information to and from an I/O device. Synchronous I/O − In this scheme CPU execution waits while I/O proceedsĪsynchronous I/O − I/O proceeds concurrently with CPU execution Following is a model for connecting the CPU, memory, controllers, and I/O devices where CPU and device controllers all use a common bus for communication. As an interface its main task is to convert serial bit stream to block of bytes, perform error correction as necessary.Īny device connected to the computer is connected by a plug and socket, and the socket is connected to a device controller. A device controller may be able to handle multiple devices. There is always a device controller and a device driver for each device to communicate with the Operating Systems. I/O units (Keyboard, mouse, printer, etc.) typically consist of a mechanical component and an electronic component where electronic component is called the device controller. The Device Controller works like an interface between a device and a device driver. Operating System takes help from device drivers to handle all I/O devices. For example, serial ports, parallel ports, sounds cards etcĭevice drivers are software modules that can be plugged into an OS to handle a particular device. For example, Hard disks, USB cameras, Disk-On-Key etc.Ĭharacter devices − A character device is one with which the driver communicates by sending and receiving single characters (bytes, octets). I/O devices can be divided into two categories −īlock devices − A block device is one with which the driver communicates by sending entire blocks of data.

One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touch pad, disk drives, display adapters, USB devices, Bit-mapped screen, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers etc.Īn I/O system is required to take an application I/O request and send it to the physical device, then take whatever response comes back from the device and send it to the application.
