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 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-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-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 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. ATT (I think they
 subcontracted BBN to actually do it) created streams.
 
 My guess is that streams is based on ATT 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 (ATT 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 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 ATT 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-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. ATT (I think they  
subcontracted BBN to actually do it) created streams.


My guess is that streams is based on ATT 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 (ATT 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


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. ATT (I think they subcontracted 
 BBN to actually do it) created streams.

 My guess is that streams is based on ATT 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 
 (ATT 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