The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: George Michaelson <ggm@algebras.org>
To: Clem Cole <clemc@ccc.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] If not Linux, then what?
Date: Wed, 28 Aug 2019 10:07:30 +1000	[thread overview]
Message-ID: <CAKr6gn3dtdzUPJJxCqi2iieG3+XxEV+atahJaR=yOsab8wpnuA@mail.gmail.com> (raw)
In-Reply-To: <CAC20D2OWrKk0hxfth3r9HyruoNf8_A-Sa07YrC-rPUPTrYbWZg@mail.gmail.com>

At the time we are talking, almost all people were using serial line
protocols, of some form, for point-to-point links. Ethernet was "new"
and I think at one level, being a good (binary) tty/serial discipline
was workable. Stacking things was possible was it not? And, the way I
understand it, The code avoided data copying so was very very
efficient across protocol stacks.

I think it was capable of being improved. Sockets is now defined by
standards. Its impossible to make it do things without huge cost.
We're comparing now, with then.. always dangerous.

-G

On Wed, Aug 28, 2019 at 9:10 AM Clem Cole <clemc@ccc.com> wrote:
>
> I had a similar conversation btw.  I liked what Dennis did to clean up the tty handler but I agree as a networking interface it was wretched which is what system v did.    At stellar we put in the bbn (walsh2) stack and spliced back in sockets so the bsd code still worked.
> That said the idea of trying to keep the everything is a file semantic was good and streams were closer. The problem sockets is they really were not quite The same.
>
> What I liked about plan 9 was breaking the control interface out so the file stuff stayed sane.   But that was a bridge to far for a traditional Unix.
>
>
> On Tue, Aug 27, 2019 at 7:00 PM Larry McVoy <lm@mcvoy.com> wrote:
>>
>> streams were OK but Dennis himself told me he didn't intend them for
>> networking.  They were a simple mechanism for pushing line disciplines
>> onto tty drivers.
>>
>> I can't remember exactly what he said, this was back in ~1988 or so
>> and I was talking to him about the STREAMS stuff.  He wasn't very
>> happy with it and I'm pretty sure he said something like streams
>> weren't design to mux multiple sources or network connections.
>> I think he sort of grudgingly gave credit that they made it work
>> but he seemed to think that it was twisting streams more than they
>> should be twisted.
>>
>> On Wed, Aug 28, 2019 at 08:46:35AM +1000, George Michaelson wrote:
>> > oh maybe I meant "streams" not "STREAMS" I always got confused if the
>> > original ritchie spec was upper or lower case. Charles Forsyth coded
>> > it into the York Uni Vaxen, worked fine. I left shortly after to do
>> > stuff at UCL, it only came back into my life when at UQ in Australia
>> > we got an ICL "certified" SYSV host and along side dead technology
>> > like RFS up it popped (I think ICL had coded an OSI stack we were
>> > testing)
>> >
>> > -G
>> >
>> > On Wed, Aug 28, 2019 at 8:40 AM Larry McVoy <lm@mcvoy.com> wrote:
>> > >
>> > > Wait, are you arguing for STREAMS over sockets?  Dear god, please no.
>> > > Have you ever used STREAMS (not Ritchies streams, those were OK)?
>> > > I have.  I ported Lachman's STREAMS based TCP/IP stack twice, once
>> > > to a long since defunct super computer called the ETA-10 and then
>> > > to SCO Unix.  I've got way more STREAMS experience than most people
>> > > and I can tell you that sockets are WAY WAY better.  I get the "it
>> > > should have just been file I/O" except that I don't.  I tried to
>> > > write a library that let you open up /net/tcp/$host:$port and do
>> > > I/O like it was a file descriptor.  That works for a lot of stuff
>> > > but I ran into problems quickly.  A networking connection is not
>> > > a file handle.  You can make some stuff work but I couldn't figure
>> > > out how to do all of it.   You end up having to do ioctls to handle
>> > > the stuff that doesn't fit well into the file system name space.
>> > > I think plan 9 did this sort of thing, maybe Rob can prove me wrong
>> > > or remember where it didn't match.
>> > >
>> > > I do know that STREAMS came back to Solaris, some VP inked a shitty
>> > > deal with Lachman and bought the rights to the stack.  It was slow
>> > > as molasses in the winter and customers absolutely hated it.  Sun
>> > > got Mentat to redo it for perf but customers still hated it, they
>> > > understood sockets, everyone else had sockets, they wanted sockets
>> > > and they got them.  Sun put them back and nobody ever asked about
>> > > STREAMS again.
>> > >
>> > > On Wed, Aug 28, 2019 at 08:30:01AM +1000, George Michaelson wrote:
>> > > > BSD, but with the original STREAMS semantics, not sockets.
>> > > >
>> > > > DARPA did us no favours accepting sockets in place of simple file I/O
>> > > > semantics for networks.
>> > > >
>> > > > Newcastle connection put the namespace into
>> > > > /.../remote-part/path/to/thing which I felt was also good.
>> > > >
>> > > > So for me, 7 -> BSD -> got worse for some values of worse
>> > > >
>> > > > On Wed, Aug 28, 2019 at 12:56 AM Larry McVoy <lm@mcvoy.com> wrote:
>> > > > >
>> > > > > On Mon, Aug 26, 2019 at 11:14:45PM -0400, Arthur Krewat wrote:
>> > > > > > On 8/26/2019 10:45 PM, Larry McVoy wrote:
>> > > > > > >  Which was that the page cache is
>> > > > > > >*the*  cache.  There is nothing else.
>> > > > > > Yeah, I re-read what you wrote a few times after I replied, and realized
>> > > > > > what you meant ... eventually ;)
>> > > > >
>> > > > > I might be making too big of a deal about it.  mmap semantics mattered
>> > > > > a lot when SMPs first showed up and main memory was small.  It meant
>> > > > > that you could have multiple CPUs seeing and working on the same chunk
>> > > > > of data at the same time.
>> > > > >
>> > > > > It's very similar to way that IOMMUs are exposed to user space these
>> > > > > days, enabling virtual machines direct access to the I/O devices.
>> > > > >
>> > > > > ZFS breaks that model, the data is all in the ARC and if you mmap
>> > > > > it they have to bcopy the data out of the ARC, into the page cache
>> > > > > and now they have a consistency problem, you could modify stuff
>> > > > > via mmap or write and they have to manage that.
>> > > > >
>> > > > > That consistency problem is the main reason that Sun almost completely
>> > > > > killed the buffer cache (it still was used for inodes and directories
>> > > > > but that was it).  That consistency problem is a pain in the rear,
>> > > > > all sorts of race conditions and it tended to bit rot.
>> > > > >
>> > > > > Jeff and Bill are smart people so I suspect they got it right but I'm
>> > > > > still stunned that they took such an architecturally bad approach.
>> > > > > And even more stunned that the oversight people approved it.  There
>> > > > > is zero chance that the Sun I worked at would have allowed that.
>> > > > >
>> > > > > --lm
>> > >
>> > > --
>> > > ---
>> > > Larry McVoy                  lm at mcvoy.com             http://www.mcvoy.com/lm
>>
>> --
>> ---
>> Larry McVoy                  lm at mcvoy.com             http://www.mcvoy.com/lm
>
> --
> Sent from a handheld expect more typos than usual

  reply	other threads:[~2019-08-28  0:08 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 23:13 Arthur Krewat
2019-08-26 23:27 ` Warner Losh
2019-08-26 23:37   ` Larry McVoy
2019-08-26 23:56   ` William Pechter
2019-08-27  0:19     ` Arthur Krewat
2019-08-27  0:30       ` Larry McVoy
2019-08-27  0:58         ` Rob Pike
2019-08-27  1:06           ` Clem Cole
2019-08-27  2:53           ` Larry McVoy
2019-08-27  9:47             ` Rob Pike
2019-08-27  7:47           ` arnold
2019-08-27 16:05           ` [TUHS] Running v10 Angelo Papenhoff
2019-08-27 16:27             ` Henry Bent
2019-08-28  4:22               ` Jason Stevens
2019-08-28  7:34                 ` Angelo Papenhoff
2019-08-28 16:46                   ` Henry Bent
2019-08-27  0:59         ` [TUHS] If not Linux, then what? Arthur Krewat
2019-08-27  1:26           ` Dan Cross
2019-08-27  2:45             ` Larry McVoy
2019-08-27  3:14               ` Arthur Krewat
2019-08-27 14:55                 ` Larry McVoy
2019-08-27 22:30                   ` George Michaelson
2019-08-27 22:40                     ` Larry McVoy
2019-08-27 22:46                       ` George Michaelson
2019-08-27 22:59                         ` [TUHS] [SPAM] " Larry McVoy
2019-08-27 23:10                           ` [TUHS] " Clem Cole
2019-08-28  0:07                             ` George Michaelson [this message]
2019-08-28  3:22                           ` [TUHS] [SPAM] " Rob Pike
2019-08-28  3:25                             ` Rob Pike
2019-08-28  4:05                             ` Larry McVoy
2019-08-28 13:52                               ` Clem Cole
2019-08-28 14:31                                 ` [TUHS] " Larry McVoy
2019-08-28 14:57                                   ` Clem Cole
2019-08-28  6:19                         ` Wesley Parish
2019-08-28  6:30                           ` Peter Jeremy
2019-08-28 11:05                             ` Jason Stevens
2019-08-28 11:11                               ` Arrigo Triulzi
2019-08-28 14:04                               ` Clem Cole
2019-08-28 16:34                                 ` Henry Bent
2019-08-28 17:32                                   ` Larry McVoy
2019-08-28 17:51                                     ` Jon Forrest
2019-08-28 18:56                                     ` Clem Cole
2019-08-28 20:23                                       ` Arrigo Triulzi
2019-08-29  3:24                                       ` Lawrence Stewart
2019-08-29 10:55                                         ` Tony Finch
2019-08-28 13:57                             ` Clem Cole
2019-08-28 12:46                           ` Warner Losh
2019-08-27 23:16                       ` Bakul Shah
2019-08-27 23:33                         ` Larry McVoy
2019-08-28  0:21                           ` Bakul Shah
2019-08-28  1:21                             ` Arthur Krewat
2019-08-28  1:46                               ` Larry McVoy
2019-08-27  0:48   ` Clem Cole
2019-08-27  1:25     ` Gregg Levine
2019-08-27  2:16   ` Theodore Y. Ts'o
2019-08-27  2:39     ` Larry McVoy
2019-08-27  5:54       ` Adam Thornton
2019-08-27  6:05         ` Gregg Levine
2019-08-27  1:17 ` Dan Cross
2019-08-28  3:53 ` Charles H. Sauer
2019-08-28  4:30 ` Jason Stevens
2019-08-28  9:36 ` Angus Robinson
2019-08-28  9:50   ` Michael Kjörling
2019-08-28 10:48     ` arnold
2019-08-28 14:10   ` Earl Baugh
2019-08-28 14:55     ` Clem Cole
2019-08-28 14:22   ` Charles H Sauer
2019-08-28 15:00     ` Steve Nickolas
2019-08-28 15:37       ` Richard Salz
2019-08-28 19:54         ` Peter Jeremy
2019-08-28 20:05           ` Christopher Browne
2019-08-28 20:07 ` Christopher Browne
2019-08-28 20:27   ` Adam Thornton
2019-08-28 20:56     ` William Pechter
2019-08-28 22:24       ` Clem cole
2019-08-28 22:27     ` William Pechter
2019-08-28 22:53       ` Arthur Krewat
2019-08-29 18:40       ` Nemo Nusquam
2019-08-29 19:18         ` Steffen Nurpmeso
2019-08-28 22:28     ` Clem cole
2019-08-28 22:48       ` Adam Thornton
2019-08-28 23:01         ` William Pechter
2019-08-28 23:09           ` Adam Thornton
2019-08-29  6:37           ` Wesley Parish
2019-08-28 23:04       ` Gregg Levine
2019-08-29 11:12     ` Tony Finch
2019-08-28 23:19   ` Theodore Y. Ts'o
2019-08-29 13:31     ` A. P. Garcia
2019-08-29 13:55       ` Arthur Krewat
2019-08-29 15:54         ` Thomas Paulsen
2019-08-29 19:19           ` Steffen Nurpmeso
2019-08-31  1:35             ` Dave Horsfall
2019-08-31 15:14               ` Steffen Nurpmeso
2019-08-31 16:58     ` Christopher Browne
2019-08-31 21:20       ` Theodore Y. Ts'o
2019-08-28 21:02 ` Thomas Paulsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKr6gn3dtdzUPJJxCqi2iieG3+XxEV+atahJaR=yOsab8wpnuA@mail.gmail.com' \
    --to=ggm@algebras.org \
    --cc=clemc@ccc.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).