iAPx 432 Interface Processor Architecture Reference Manual
I/O EXAMPLE
To illustrate the operation of the 432 I/O model more specifically, this section provides a simple example which shows how line printer output might be implemented. Of course, the example describes only one of many possible awroaches that might be taken. Furthermore, the example does not show all the detail of a typical implementation, with the Peripheral Subsystem supporting transfers to and from a number of devices concurrently.
In this example, all Peripheral Subsystem software is assumed to be implemented as a collection of tasks running under the control of a multitasking operating system. This OS is assumed to allow tasks to cornnunicate with one another in a fashion that is analogous to the 432 interprocess corrmunication facility. The mechanisms provided by the OS are messages, mailboxes, a TRANSMIT operator and an ACCEPT operator. Messages are arbitrary data structures in memory, and mailboxes are queue structures that hold tasks waiting for messages or messages waiting for tasks. When executed by a task, TRANSMIT moves a message from a task to a mailbox and ACCEPT moves a message fran a mailbox to the issuing task if a message is available; if not, the task is queued at the mailbox until another task TRANSMITs a message to the mailbox. In other words, mailboxes are analogous to 432 ports and TRANSMIT and ACCEPT are analogous to the 432 SEND and RECEIVE operators.