STREAMS - History

History

STREAMS was first introduced in Eighth Edition Research Unix by Dennis Ritchie, where it was used for the terminal I/O subsystem and the TCP/IP protocol. This version fit the new functionality under the existing device I/O system calls (open, close, read, write, and ioctl), and its application was limited to terminal I/O and protocols providing pipe-like I/O semantics. It was ported to System V Release 3 by Robert Israel, Gil McGrath, Dave Olander, Her-Daw Che, and Maury Bach as part of a wider framework intended to support a variety of transport protocols, including TCP/IP, ISO Class 4 transport, SNA LU 6.2, and the AT&T NPACK protocol (used in RFS). It was first released with the Network Support Utilities (NSU) package of UNIX System V Release 3. This port added the putmsg, getmsg, and poll system calls, which are nearly equivalent to the send, recv, and select calls from Berkeley sockets. The putmsg and getmsg system calls were originally called send and recv, but were renamed to avoid namespace conflict. In System V Release 4, STREAMS was extended and used for the terminal I/O framework and pipes, providing useful new functionality like bi-directional pipes and file descriptor passing. A port for Unicos was also produced.

Concurrent with the System V Release 3 port, AT&T developed protocol-independent STREAMS message passing guidelines for the link, network, and transport layers of the OSI model (layers 2-4). Due to the typically close implementation coupling of the network and transport protocols in a given protocol stack, and the typical practice of implementing layers 5-7 outside of the kernel, only the link and transport layer STREAMS service interfaces were later standardized by X/Open. In conjunction with the transport message passing model, the Transport Layer Interface (later adopted as the X/Open Transport Interface) was defined to provide a transport protocol-independent API for application development. Also, a library supporting the session, presentation and application layers was defined and later standardized by The Open Group.

STREAMS was required for conformance with the Single UNIX Specification versions 1 (UNIX 95) and 2 (UNIX 98), but as a result of the refusal of the BSD and Linux developers to provide STREAMS, was marked as optional for POSIX compliance by the Austin Group in version 3 (UNIX 03).

Read more about this topic:  STREAMS

Famous quotes containing the word history:

    The best history is but like the art of Rembrandt; it casts a vivid light on certain selected causes, on those which were best and greatest; it leaves all the rest in shadow and unseen.
    Walter Bagehot (1826–1877)

    History is more or less bunk. It’s tradition. We don’t want tradition. We want to live in the present and the only history that is worth a tinker’s damn is the history we make today.
    Henry Ford (1863–1947)

    There is a constant in the average American imagination and taste, for which the past must be preserved and celebrated in full-scale authentic copy; a philosophy of immortality as duplication. It dominates the relation with the self, with the past, not infrequently with the present, always with History and, even, with the European tradition.
    Umberto Eco (b. 1932)