 | | The STREAMS subsystem provides a raw data stream between the user and some device—a disk, a terminal, or a network interface. It removes the specialized drivers for each different type of device (there are still drivers, but they all have a common interface now). The user can add (“push”) and remove (“pop”) intermediate processing elements, called modules, to and from the data stream at will. The modules can be stacked so that more than one processes the data stream at the same time. This allows relatively simple, single-purpose modules to be combined in new and interesting ways to perform complex tasks, in the same manner as the UNIX shell allows complex tasks to be built out of simpler ones using pipelines. | |
|