Kernel Processing

This section describes STREAMS kernel operations and associates them, where relevant, with user-level system calls.

As a result of initializing operations and pushing a module, the stream for port 1 has the configuration shown in the Operational Stream diagram (Figure 1).

Figure 1. Operational Stream
This diagram shows the raw tty device driver and the queue pair joined. The CHARPROC module is above the queue pair and the CANONPROC module is between the stream head (at the top of the kernel space) and CHARPROC. The modules have the same communication arrows as used in the previous diagram. The upstream queue or read queue is on the right (signified by the upward arrow) while the downstream queue or write queue is on the left (signified by the downward arrow).

Here the upstream QUEUE is also referred to as the read QUEUE, reflecting the message flow in response to a read subroutine. The downstream QUEUE is referred to as the write QUEUE.