Talk:STREAMS

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)


 * However, the commercial branded UNIX on which I'm typing this is a "pure BSD derivative" in that regard, and it has a significant market share. Guy Harris (talk) 22:34, 22 February 2013 (UTC)

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)


 * STREAMS is used in modern software. --Dgtsyb (talk) 23:21 19 May 2008 (UTC)


 * Barely. Pretty much everyone uses sockets. It's a misrepresentation of the situation to claim otherwise - David Gerard (talk) 11:02, 22 July 2008 (UTC)


 * Do you have a citation to a recent verifiable source to that effect? Sun has recently (2007, 2008) updated it STREAMS documentation, including the addition of a completely new DLPI library to Solaris 11.  These developments contradict your statement. I have added the need for a citation to these statements in the article. — Dgtsyb (talk) 21:23, 22 July 2008 (UTC)
 * Sun has also (Dec 2008) reimplemented a bunch of their sockets without STREAMS for performance reasons. TRS-80 (talk) 16:27, 19 January 2009 (UTC)

True however STREAMS is used in OpenSolaris for more things then just Networking. In general they are moving away from it as an abstraction for Networking. However their new sound system Boomer depends on STREAMS so as to provide SADA compatability, see here: -Paul  —Preceding unsigned comment added by 84.203.140.246 (talk) 11:31, 12 February 2009 (UTC)

Windows NT and STREAMS
Windows NT contained a third party implementation of STREAMS by Spider Systems (not Lachman) because Microsoft worked with Spider to port their STREAMS-based TCP/IP stack to Windows NT (as noted elsewhere, this implementation was eventually mostly replaced by a BSD-derived implementation). The first Windows README to actually acknowledge this was the one that came with NT 6.0 (Vista), however!

Here's an archived mailing list article discussing this: Re: Query: How to tell if Microsoft is using BSD TCP/IP code?.

Mark Valentine (talk) 22:28, 27 January 2011 (UTC)


 * So why not place it in the article? Dgtsyb (talk) 06:29, 29 January 2011 (UTC)


 * It's there now. I'll cite the mailing list article in addition to the already-cited Kuro5hin posting. Guy Harris (talk) 22:23, 22 February 2013 (UTC)

Low quality and uninformative
This article is really bad.

First, this sentence

"Eric S. Raymond quotes Ritchie as saying about the complexity of System V STREAMS when compared to his V8 Streams that "Streams means something different when shouted".

imparts zero information and is neither cute nor funny. It doesn't even make sense.

Second, there is absolutely no information in the article about what STREAMS actually does or how it is different from sockets. There is a fair amount of "My schwantz is bigger than your schwantz" here on the talk page but precious little info.

Ten minutes' search elsewhere gave me the real difference between STREAMS and sockets, several articles showing tests that STREAMS was two or three times faster than sockets, and a couple descriptions of why sockets would be a better choice for other tasks.

No such information is contained here.

Bad show, chaps. — Preceding unsigned comment added by 210.22.142.82 (talk) 09:22, 4 February 2015 (UTC)


 * And your comment is nonconstructive. Why don't you either fix the article, or post links to those articles here, instead of complaining? Q VVERTYVS (hm?) 10:22, 4 February 2015 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 2 external links on STREAMS. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20060427050824/http://cm.bell-labs.com/cm/cs/who/dmr/st.html to http://cm.bell-labs.com/cm/cs/who/dmr/st.html
 * Added archive https://web.archive.org/web/20110726053318/http://alpha-supernova.dev.filibeto.org/lib/rel/4.0B/HTML/AA-PS2WD-TET1_html/netprog6.html to http://alpha-supernova.dev.filibeto.org/lib/rel/4.0B/HTML/AA-PS2WD-TET1_html/netprog6.html

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 13:21, 13 January 2018 (UTC)


 * The first one just moved; I fixed it to give the new URL. The second one works. Guy Harris (talk) 20:18, 13 January 2018 (UTC)