Talk:STREAMS
From Wikipedia, the free encyclopedia
[edit] Advantages and disadvantages vs. sockets?
From the article:
- An important concept in STREAMS is the ability to push drivers — custom code modules that 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.
If this is the biggest difference between STREAMS and Berkeley Sockets, then no wonder STREAMS didn't catch on so much. :) But seriously, what are the advantages of this networking API over the Berkeley one? Or vice versa? --FOo 22:31, 3 July 2006 (UTC)
- Berkeley Sockets is more than an API. So is STREAMS. The difference is the Berkeley protocol stack and API only adequately provide TCP/IP (some OSI) and Sockets API support. STREAMS, on the other hand, is used to implement networking protocols (many more than just TCP/IP and more OSI) that presents both a UNIX and a Berkeley Sockets API. When you use the Berkeley Sockets API on most commercial branded UNIX (and some RTOS as well) it is STREAMS beneath the API that provides the networking capabilities within the kernel. The major exceptions are pure BSD derivatives and Linux (without an add-on STREAMs package, see [Why STREAMS for Linux?). So, you may have been using STREAMS without knowing it.
- Another difference is that STREAMS was fully intended on being used by ISVs (Independent Software Vendors) and hardware manufacturers for providing thier own networking drivers into the UNIX kernel (and thus the common use also in commercial RTOS). Unix vendors such as IBM (AIX) and HP (HP-UX) actually paid SVR4 licenses largely to get STREAMS and access to the wide range of ISVs and hardware vendors that supported it. -- Dgtsyb (talk) 23:11 19 May 2008 (UTC)
[edit] What is used today
However, [STREAMS] is rarely used in modern software.
Then, what is used in modern software? --Abdull (talk) 11:00, 15 January 2008 (UTC)

