There are three modes of data transmission. These are simplex, half-duplex, and full-duplex.
A simplex communication system can transmit data in one direction only It is suitable for connecting send-only (such as keyboard) or receive-only (such as printer) devices. At first thought, this mode may appear adequate for application in which flow of information in unidirectional. However, almost all data processing applications require bidirectional communication because even when flow of data is unidirectional (such as from a terminal to a computer), an application requires a return path to send acknowledgement, control, or error signals. Without this capacity, a sender might send data and never know that the receiver never received it (due to some problem somewhere). Hence, simplex circuits are seldom used.
A half-duplex communication system can transmit data in both directions, but in only one direction at a time. Hence, it can alternately send and receive date. It requires two wires. It is suitable for voice communication using telephones in which only one person speaks at a time. It is suitable also for connecting a terminal to a computer in which the terminal transmits data and then the computer responds with a n acknowledgement.
A half-duplex system needs to switch direction each time the direction of data transfer reverses. This requires a special switching circuit and a delay of about 150 milliseconds. When compared with high processing capabilities of modern computers, this delay is often unacceptable. Moreover, some applications require bi-directional data transfer simultaneously. Systems with such requirements are a full-duplex communication system, which allows data to flow in both directions simultaneously. It requires four wires. It improves efficiency because it eliminates the direction switching delay of a half-duplex system.