Synchronous I/O : CPU waits till the I/O proceeds. Asynchronous I/O : It executes cuncurrently with CPU execution. Special Instruction I/O : They uses the CPU instructions for controlling the I/O devices. Memory-mapped I/O : They share the same address space with the memory. Devices are connected directly to the main memory so that they can transfer block of data Direct memory access (DMA) : It ensures that CPU grants I/O module authority to read from or write to memory without involvement. This module is responsible for exchanging data between I/O device and main memory. It uses the hardware DMAC for data transfers. Polling I/O : It periodically checks the status of the device to check if the device performs any further I/O operation. Interrupt I/O : It works on interrupt signal where a device controller puts an interrupt signal on the bus when it requires CPU’s attention. Programmed I/O : * It is used only in low end microcomputers. * It has only single output and single input instruction. * In this procees each instructions selects one I/O device and transfers a single character (byte). Working: I/O operation is requested by CPU. Operation is performed by I/O module. Status bits is being set by I/O module Status bits are checked periodically by CPU. CPU is not directly informed by I/O module. CPU is not interrupted by I/O module. CPU may wait or come back after some time. Advantages : It is easy to program and understand. Disadvantages : It has single input and single output instruction. CPU spends most of its time in a tight loop waiting for the device to become ready.(Busy Waiting) Interrupt-driven I/O Advantages : Fast and efficient Disadvantages : * Interrupting a running process is an expensive business (requires saving context). * Requires extra hardware (DMA controller chip). Working : CPU is interupted bye the I/O module. Data is requested by CPU. The data is trasferres by I/O module. DMA ensures that CPU grants I/O module authority to read from or write to memory without involvement. This module is responsible for exchanging data between I/O device and main memory. It uses the hardware DMAC for data transfers. Solution Synchronous I/O : CPU waits till the I/O proceeds. Asynchronous I/O : It executes cuncurrently with CPU execution. Special Instruction I/O : They uses the CPU instructions for controlling the I/O devices. Memory-mapped I/O : They share the same address space with the memory. Devices are connected directly to the main memory so that they can transfer block of data Direct memory access (DMA) : It ensures that CPU grants I/O module authority to read from or write to memory without involvement. This module is responsible for exchanging data between I/O device and main memory. It uses the hardware DMAC for data transfers. Polling I/O : It periodically checks the status of the device to check if the device performs any further I/O operation. Interrupt I/O : It works on interrupt signal where a device controller puts an in.