STREAMS Modularity

STREAMS modularity and design reflect the layers and option characteristics of contemporary networking architectures.

The basic components in a STREAMS implementation are referred to as modules (see Modules). The modules, which reside in the kernel, offer a set of processing functions and associated service interfaces. From a user level, modules can be selected dynamically and interconnected to provide any rational processing sequence. Kernel programming, assembly, and link editing are not required to create the interconnection. Modules can also be dynamically plugged into existing connections from user level. STREAMS modularity allows:
  • User-level programs that are independent of underlying protocols and physical communication media
  • Network architectures and high-level protocols that are independent of underlying protocols, drivers, and physical communication media
  • High-level services that can be created by selecting and connecting low-level services and protocols
  • Enhanced portability of protocol modules, resulting from the well-defined structure and interface standards of STREAMS.