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.