Re: The STREAMS non-inclusion in Linux

2011-04-22 Thread Omer Zak
Thanks, Geoff Mendelson and Shlomi Fish, for helping me understand why
STREAMS didn't find its way into Linux.

Intuitively, drivers stacked according to STREAMS interfaces and
protocols would be slower than monolithic drivers accomplishing the same
function.  Therefore the monolithic solution would be preferred.

This is especially true as Linux kernel supports loading and unloading
of driver modules, so it does not cost much to replace the equivalent of
one stack of drivers by the equivalent of another stack of drivers.

I was amused to read that one of the POSIX standards was affected by
Linux' insistence upon not implementing STREAMS in the standard kernel.

--- Omer


On Wed, 2011-04-20 at 13:03 +0300, Shlomi Fish wrote:
> Hi Omer,
> 
> On Wednesday 20 Apr 2011 08:09:35 Omer Zak wrote:
> > One of the things in which Linux diverges from Unix is Linux'
> > non-implementation of STREAMS.
> > 
> > STREAMS can roughly be described as a way to organize drivers dealing
> > with I/O.
> > 
> > Wikipedia article: http://en.wikipedia.org/wiki/STREAMS
> > Linux Journal article: http://www.linuxjournal.com/article/3086
> > 
> > None of them has details about the reasons, which led Linux Kernel
> > developers to reject STREAMS.  STREAMS was only vaguely described as
> > poorly-designed and resource-consuming.
> > 
> > Where can I find, if it exists at all, the definitive article which
> > spells out the reasons for rejection of STREAMS?
> > 
> 
> Well, I should note that Eric Raymond has written about STREAMS here:
> 
> * http://www.faqs.org/docs/artu/ch07s03.html

-- 
My Commodore 64 is suffering from slowness and insufficiency of memory;
and its display device is grievously short of pixels.  Can anyone help?
My own blog is at http://www.zak.co.il/tddpirate/

My opinions, as expressed in this E-mail message, are mine alone.
They do not represent the official policy of any organization with which
I may be affiliated in any way.
WARNING TO SPAMMERS:  at http://www.zak.co.il/spamwarning.html




___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-20 Thread Tzafrir Cohen
On Wed, Apr 20, 2011 at 01:23:33PM +0300, Shlomi Fish wrote:
> On Wednesday 20 Apr 2011 08:32:29 geoffrey mendelson wrote:

> > My guess is that streams is based on AT&T patents and was never
> > reverse engineered.
> > 
> 
> That's not true. STREAMS was part of the Unix98 standard (now mostly 
> superseded by the Linux Standard Base), and there was a STREAMS patch for it 
> for the Linux kernel. However, AFAIR Linus was unwilling to apply it because 
> he claimed it made everything else slower.

"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 flavors of UNIX to provide STREAMS, was marked as
optional for POSIX compliance by the Austin Group in version 3 (UNIX
03)."

http://en.wikipedia.org/wiki/STREAMS

-- 
Tzafrir Cohen | tzaf...@jabber.org | VIM is
http://tzafrir.org.il || a Mutt's
tzaf...@cohens.org.il ||  best
tzaf...@debian.org|| friend

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-20 Thread Shlomi Fish
On Wednesday 20 Apr 2011 08:32:29 geoffrey mendelson wrote:
> On Apr 20, 2011, at 8:09 AM, Omer Zak wrote:
> > None of them has details about the reasons, which led Linux Kernel
> > developers to reject STREAMS.  STREAMS was only vaguely described as
> > poorly-designed and resource-consuming.
> 
> There were two competing implemtations of TCP/IP. UCB created sockets,
> which is sort of in the public domain. AT&T (I think they
> subcontracted BBN to actually do it) created streams.
> 
> My guess is that streams is based on AT&T patents and was never
> reverse engineered.
> 

That's not true. STREAMS was part of the Unix98 standard (now mostly 
superseded by the Linux Standard Base), and there was a STREAMS patch for it 
for the Linux kernel. However, AFAIR Linus was unwilling to apply it because 
he claimed it made everything else slower.

> So UNIX systems based on SYS V had streams, while UNIX systems based
> on BSD had sockets. SYS V Release 3.2 which was the first combined
> release (AT&T Kernel, both SYS V and BSD user land) had both.
> 
> I've never looked but AFAIK, MacOS which is the latest "real" UNIX has
> sockets but not streams.
> 
> Geoff.

Regards,

Shlomi Fish

-- 
-
Shlomi Fish   http://www.shlomifish.org/
Best Introductory Programming Language - http://shlom.in/intro-lang

Knuth is not God! Unless you confuse him with Dijkstra.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-20 Thread Shlomi Fish
Hi Omer,

On Wednesday 20 Apr 2011 08:09:35 Omer Zak wrote:
> One of the things in which Linux diverges from Unix is Linux'
> non-implementation of STREAMS.
> 
> STREAMS can roughly be described as a way to organize drivers dealing
> with I/O.
> 
> Wikipedia article: http://en.wikipedia.org/wiki/STREAMS
> Linux Journal article: http://www.linuxjournal.com/article/3086
> 
> None of them has details about the reasons, which led Linux Kernel
> developers to reject STREAMS.  STREAMS was only vaguely described as
> poorly-designed and resource-consuming.
> 
> Where can I find, if it exists at all, the definitive article which
> spells out the reasons for rejection of STREAMS?
> 

Well, I should note that Eric Raymond has written about STREAMS here:

* http://www.faqs.org/docs/artu/ch07s03.html

Regards,

Shlomi Fish

-- 
-
Shlomi Fish   http://www.shlomifish.org/
Parody of "The Fountainhead" - http://shlom.in/towtf

Satan condemned Hitler for a million years of writing XSLT.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-20 Thread Tzafrir Cohen
On Wed, Apr 20, 2011 at 09:56:26AM +0300, Oron Peled wrote:

> IIRC, Linus once said STREAMS would enter the kernel over his dead body
> but I cannot find a reference to that now.

Regardless of this specific issue, I believe some one or two pieces of
code did make it into the kernel over Linus's dead body. But I can't
find any reference either.

Ahem.

-- 
Tzafrir Cohen | tzaf...@jabber.org | VIM is
http://tzafrir.org.il || a Mutt's
tzaf...@cohens.org.il ||  best
tzaf...@debian.org|| friend

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-19 Thread Oron Peled
On Wednesday, 20 בApril 2011 08:09:35 Omer Zak wrote:
> One of the things in which Linux diverges from Unix is Linux'
> non-implementation of STREAMS.
> 
> None of them has details about the reasons, which led Linux Kernel
> developers to reject STREAMS.  STREAMS was only vaguely described as
> poorly-designed and resource-consuming.

From Alan Cox:
  http://lkml.indiana.edu/hypermail/linux/kernel/9806.3/0997.html

> Where can I find, if it exists at all, the definitive article which
> spells out the reasons for rejection of STREAMS?

IIRC, Linus once said STREAMS would enter the kernel over his dead body
but I cannot find a reference to that now.


-- 
Oron Peled Voice: +972-4-8228492
o...@actcom.co.il  http://users.actcom.co.il/~oron
Problems cannot be solved at the same level of awareness that
created them.
 -- A. Einstein

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-19 Thread Tzafrir Cohen
On Wed, Apr 20, 2011 at 08:32:29AM +0300, geoffrey mendelson wrote:
>
> On Apr 20, 2011, at 8:09 AM, Omer Zak wrote:
>
>> None of them has details about the reasons, which led Linux Kernel
>> developers to reject STREAMS.  STREAMS was only vaguely described as
>> poorly-designed and resource-consuming.
>
> There were two competing implemtations of TCP/IP. UCB created sockets,  
> which is sort of in the public domain. AT&T (I think they subcontracted 
> BBN to actually do it) created streams.
>
> My guess is that streams is based on AT&T patents and was never reverse 
> engineered.
>
> So UNIX systems based on SYS V had streams, while UNIX systems based on 
> BSD had sockets. SYS V Release 3.2 which was the first combined release 
> (AT&T Kernel, both SYS V and BSD user land) had both.
>
> I've never looked but AFAIK, MacOS which is the latest "real" UNIX has  
> sockets but not streams.

Mac OS X has a part called XNU (which, unlike GNU and XINU, is not a
recursive acronym) which is originally based on the BSD kernel. You
would expect them to follow BSD and use sockets rather than streams.

Interestingly enough, Mac OS (the original one, which had nothing to do
with Unix) had an implementation of STREAMS. Which is why OSX was forced
to keep it as part of the emulation layer (alone). Or at least Wikipedia
says so:
http://en.wikipedia.org/wiki/STREAMS

-- 
Tzafrir Cohen | tzaf...@jabber.org | VIM is
http://tzafrir.org.il || a Mutt's
tzaf...@cohens.org.il ||  best
tzaf...@debian.org|| friend

___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


Re: The STREAMS non-inclusion in Linux

2011-04-19 Thread geoffrey mendelson


On Apr 20, 2011, at 8:09 AM, Omer Zak wrote:


None of them has details about the reasons, which led Linux Kernel
developers to reject STREAMS.  STREAMS was only vaguely described as
poorly-designed and resource-consuming.


There were two competing implemtations of TCP/IP. UCB created sockets,  
which is sort of in the public domain. AT&T (I think they  
subcontracted BBN to actually do it) created streams.


My guess is that streams is based on AT&T patents and was never  
reverse engineered.


So UNIX systems based on SYS V had streams, while UNIX systems based  
on BSD had sockets. SYS V Release 3.2 which was the first combined  
release (AT&T Kernel, both SYS V and BSD user land) had both.


I've never looked but AFAIK, MacOS which is the latest "real" UNIX has  
sockets but not streams.


Geoff.

--
Geoffrey S. Mendelson,  N3OWJ/4X1GM
Those who cannot remember the past are condemned to misquote it.









___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il


The STREAMS non-inclusion in Linux

2011-04-19 Thread Omer Zak
One of the things in which Linux diverges from Unix is Linux'
non-implementation of STREAMS.

STREAMS can roughly be described as a way to organize drivers dealing
with I/O.

Wikipedia article: http://en.wikipedia.org/wiki/STREAMS
Linux Journal article: http://www.linuxjournal.com/article/3086

None of them has details about the reasons, which led Linux Kernel
developers to reject STREAMS.  STREAMS was only vaguely described as
poorly-designed and resource-consuming.

Where can I find, if it exists at all, the definitive article which
spells out the reasons for rejection of STREAMS?

--- Omer


-- 
Soylent Green is people!
My own blog is at http://www.zak.co.il/tddpirate/

My opinions, as expressed in this E-mail message, are mine alone.
They do not represent the official policy of any organization with which
I may be affiliated in any way.
WARNING TO SPAMMERS:  at http://www.zak.co.il/spamwarning.html


___
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il