I/O is any communication between a computer and external devices. Those devices can be anything for example disks, tape drives, network connections or printers..
In the past mainframes offloaded as much I/O to external devices to maximise the CPU capacity of the mainframe. External controllers (or control units) performed some of the I/O processing. For example network controllers or Front-End Processors like the 3725 managed the SNA network, and DASD controllers like the IBM 3880 managed disk services
In today’s world the equipment continues to perform much of the I/O processing. Modern I/O subsystems include any controller or control unit, they are no longer separate equipment.
For example a modern disk subsystem and virtual tape subsystems perform all the processing that was performed by those control units.
A lot of the I/O processing cannot be offloaded and must be performed on the mainframe. This is performed by a subsystem called the CSS (Channel SubSystem). This is used by all mainframe-based operating systems, including z/OS, Linux on IM Z and z/VSE
The Channel SubSystem is a subsystem that is used on all mainframe-based operating systems (including z/OS, Linux on IBM Z and z/VSE) to perform the I/O processing that cannot be offloaded from the mainframe nad needs to be performed on the system itself.
Offloading I/O processing to the channel subsystem frees up normal processors to do other work. This subsystem will perform the work of communicating with the external equipment for the purposes of I/O.
The Channel subsystem performs processing on the System Assistance Processors (SAP) and does not use the normal processors or memory.
While this subsystem is performing I/O operations for a task, other tasks can be performed on the normal processors. When the I/O operation is complete, the subsystem will interrupt the other process and resume the control of the process that requested the I/O operation.
The channel subsystem connects to external systems with “channel cables”.
Modern mainframes rely on FICOŃ and IBM zHyperLink Express to do this.
FICON
Introduced in 1998, uses fiber-optic cable, supports 16000 devices per channel with a transfer rate 8GBps+ with a maximum distance of 100km (60 miles)
IBM zHyperLink Express
Designed to reduce the I/O latency and improve I/O throughput. Introduced with the z14 mainframe, provides direct, short distance connection of up to 150 meters between the mainframe and DS8800 (or newer) disk storage. Link data rate of 8GBps.
in reality a channel is more than just a cable, it is also the subsystem reposonsible for communication, together with the protocols, technology and other software that supports this communication
Types of FICON channels
There are two types of FICON channels:
CCW channel
Used to connect with external equipment that is not a mainframe, such as a disk and tape subsystems, network switches and printers
Coupling Channels
Those are used to connect z/OS systems together or to connect z/OS with a coupling facility.
Central Processor Complex (CPC)
Central Processor Complex (CPC) can contain several z/OS systems and coupling facilities. All of these use coupling channels for communication.
Within a CPC these channels can be internal with no fiber cables required. These Internal Couplings (IC) channels are faster than channels using external fiber connections.
Before an external device can be used, it must be defined to both the channel subsystem and z/OS
the z/OS programmer uses a tool called Hardware configuration Dialog (HCD) to perform this definition. It is an ISPF application.
In the past network connections used the normal CSS (Channel SubSystem)together with external network controllers.
Today the channel subsystem can still be used for VTAM and TCP/IP network connections, either connecting a network device to the mainframe with a FICON CCW channel or directly between mainframe operating systems using coupling channels, HOWEVER
Normally a different technology is used to connect mainframe directly to external networks
It is called Open Systems Adapter (OSA), it is a hardware card that plugs into the mainframe and allows it to connect to standard Ethernet network infrastructure for TCP/IP connections.
The first OSA adapters were effectively network controllers that communicated with the mainframe using internal connections to the normal channel system
Standard networking configurations including Ethernet, FDDi and Token Ring were supported.
The current OSA cards, called OSA Express are faster and bypass the channel subsystem completely. They only support Ethernet, including Gigabit Ethernet and 1000Base-T
Hardware Management Console (HMC)
Hardware Management Console can be used to create and manage a configuration source file for the Open Systems Adapter - Integrated Console Controller (OSA-ICC) which is used to provide operating systems with z/OS consoles.
Shared Memory Communication (SMC)
SMC is a protocol that can improve throughput by accessing data faster with less latency by allowing two peers to transfer data using system memory buffers that each peer allocates for its partner to use. System-system communication can be done via two methods
SMC-Direct Memory Access (SMC-D)
Data is transferred between systems that are within the same CPC using internal shared memory (ISH) (or ISM I guess) technology, providing virtual adaptors to allow intranet-system communication between each TCP socket endpoint within the same system. This means that no additional hardware is required.
SMC-Remote Directory Access (SMC-R)
This allows data to be transferred between two separate systems in different CPCs using remote direct memory access (RDMA) over Converged Ethernet (RoCE) technology. This will need an RDMA-enabled network card (RNIC)such as 25 GbE RoCE Express 2.1 and 10 GbE RoCE Express 2.1
Hipersockets Can also be used to achieve connection like OSA, just without the hardware, within the same CPC