A channel is an independent hardware component that co-ordinate all I/O to a set of controllers. Computer systems that use I/O channel have special hardware components that handle all I/O operations.
Channels use separate, independent and low cost processors for its functioning which are called Channel Processors.
Channel processors are simple, but contains sufficient memory to handle all I/O tasks. When I/O transfer is complete or an error is detected, the channel controller communicates with the CPU using an interrupt, and informs CPU about the error or the task completion.
Each channel supports one or more controllers or devices. Channel programs contain list of commands to the channel itself and for various connected controllers or devices. Once the operating system has prepared a list of I/O commands, it executes a single I/O machine instruction to initiate the channel program, the channel then assumes control of the I/O operations until they are completed.
IBM 370 I/O Channel
The I/O processor in the IBM 370 computer is called a Channel. A computer system configuration includes a number of channels which are connected to one or more I/O devices.
Categories of I/O Channels
Following are the different categories of I/O channels:
The Multiplexer channel can be connected to a number of slow and medium speed devices. It is capable of operating number of I/O devices simultaneously.
This channel can handle only one I/O operation at a time and is used to control one high speed device at a time.
It combines the features of both multiplexer and selector channels.
The CPU directly can communicate with the channels through control lines. Following diagram shows the word format of channel operation.
The computer system may have number of channels and each is assigned an address. Each channel may be connected to several devices and each device is assigned an address.