As we’ve seen, the biggest difference between the T/16 and conventional computers is the lack of any single required component. Any one part of the system can fail without bringing down the system. This makes it more like a network than a conventional shared memory multiprocessor machine.
This has far-reaching implications for the operating system design. A disk could be connected to any 2 of 16 CPUs. How do the others access it? Modern networks use file systems such as NFS or CIFS, which run on top of the network protocols, to handle this special case. But on the T/16 it isn’t a special case; it is the norm.
File systems aren’t the only thing that require this kind of communication: interprocess communication of all kinds requires it, too.
Tandem’s solution to this issue is the message system, which runs at a very low level in the operating system. It is not directly accessible to user programs.
The message system transmits data between processes, and in many ways it resembles the later TCP or UDP. The initiator of the message is called the requestor, and the object is called the server.
All communication between processes, even on the same CPU, goes via the message system. The following data structures implement the communication:
Each message is associated with two Link Control Blocks, or LCBs, one for the requestor and one for the server. These small data objects are designed to fit in a single IPB packet. If more data is needed than would fit in the LCB, a separate ...