Skip to main content


In computer networking, STREAMS is the native framework in Unix System V for implementing character device drivers, network protocols, and inter-process communication. In this framework, a stream is a chain of coroutines that pass messages between a program and a device driver (or between a pair of programs). STREAMS originated in Version 8 Research Unix, as Streams (not capitalized). STREAMS’s design is a modular architecture for implementing full-duplex I/O between kernel or user space processes and between device drivers. Its most frequent uses have been in developing terminal I/O (line discipline) and networking subsystems. In System V Release 4, the entire terminal interface was reimplemented using STREAMS. An important concept in STREAMS is the ability to push drivers — custom code modules which can modify the functionality of a network interface or other device — together to form a stack. Several of these drivers can be chained together in order.