The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Shell control through external commands
@ 2016-09-12  1:31 Norman Wilson
  2016-09-12  4:44 ` [TUHS] BSD/v8 TCP/IP (was Shell control through external commands) Greg 'groggy' Lehey
  2016-09-12  9:33 ` [TUHS] Shell control through external commands Joerg Schilling
  0 siblings, 2 replies; 19+ messages in thread
From: Norman Wilson @ 2016-09-12  1:31 UTC (permalink / raw)


Doug McIlroy:

  "Re-port" may be a bit strong. Internet stuff from Berkeley
  was folded into the research code (for a huge increase in
  kernel size). But I think it was done by pasting Berkeley
  code into local source, rather than the other way around.

====

Actually it was more nearly:

-- Adopt 4.1c BSD kernel
-- Graft in Research-specific things it was important to
keep: in particular Dennis's stream subsystem, Tom Killian's
original /proc, Peter Weinberger's early network file system
client code (the server was just a user-mode program) and
simple hackery to speed up the file system without great
fuss (make the block size 4KiB and move the free list to
a bitmap; no cylinder groups or other radical changes).
Also device drivers to support Datakit, at the time our
workhorse network.  I think a file-system switch went
in early as well, spurred by having both /proc and
pjw's network file system; it wasn't used to support
multiple disk-file-system layouts, though it could have
been.
-- Outside the kernel, keep pretty much the then-current
Research commands, including Blit/5620 support, the
cleaned up and slightly-extended Bourne shell, and whatnot.

I don't think the BSD kernel when adopted had much, if any,
of sockets, Berkeley's TCP/IP, McKusick's FFS; if it did,
they were excised.  Likewise any remaining trace of V7's
mpx(2) multiplexed-file IPC.

I'm going by the state the system was in when I arrived
in August 1984, plus a short note written by Weinberger
that I came across later.

TCP/IP support didn't show up until later, I think summer
1985, though it might have been a year later.  The first
cut was done by Robert T. Morris (later famous for a buggy
program that broke the Internet), who did several summers
as an intern; he took the code from (I think) 4.2 BSD,
and constructed some shims to fit it into the stream world.
Paul Glick later cleaned it up a lot, removing the need
for most of the shimmery.

Further evolution followed, of course, including a
complete rewrite of the interface between drivers
(device, file system, and stream) and the rest of the
system, which made configuration much more straightforward.
Also a rampage on my part to identify code that was no
longer useful and kick it out; I took special pleasure
in removing ptrace(2) (even though I had to change adb
and sdb first to use /proc).

But that was all later.

Norman Wilson
Toronto ON


^ permalink raw reply	[flat|nested] 19+ messages in thread
* [TUHS] BSD/v8 TCP/IP (was Shell control through external commands)
@ 2016-09-12 12:56 Norman Wilson
  2016-09-12 15:27 ` Joerg Schilling
  0 siblings, 1 reply; 19+ messages in thread
From: Norman Wilson @ 2016-09-12 12:56 UTC (permalink / raw)


I'm not sure of the point of this mine-is-bigger-than-yours argument, but:

The earliest stream-I/O-system-based tty driver I'm aware of was
already in the Research kernel when I interviewed at Bell Labs
in early 1984.  I have a vague memory that it was a couple of
years older than that, and was first implemented in a post-V7
PDP-11 system; also that I had heard about it first at a USENIX
conference in 1982 or 1983; but I cannot find any citations to
back up either of those memories.

I do know that I'd heard of it while I was still working at Caltech,
because I remember thinking about what a good idea it was and
about possibly trying to do my own version of it, but I never did.
I left Caltech at the end of June 1984, spent the following month
touring nearly the entire Amtrak long-distance network in a single
long reservation (it was possible to do that with surprisingly few
overnight stops off the train in those days), and started at Bell
Labs at the beginning of August.

Norman Wilson
Toronto ON


^ permalink raw reply	[flat|nested] 19+ messages in thread
* [TUHS] BSD/v8 TCP/IP (was Shell control through external commands)
@ 2016-09-12 15:41 Norman Wilson
  0 siblings, 0 replies; 19+ messages in thread
From: Norman Wilson @ 2016-09-12 15:41 UTC (permalink / raw)


  Because of the design bug I mentioned, I searched for UNIX sources from AT&T
  that include streams support, but could never find any.

=====

None of the Research systems after 32/V was ever distributed except
to a handful of sites under site-specific letter agreements that
forbade redistribution.

This is a bug, not a feature, but there it is.  It was easy to get
approval to write a paper, much harder to get permission to distribute
code, especially when the code in some way overlapped the Official
Product.

Warren and I (and Dennis, when he was still alive) hoped to do
something about some years back, but it's a lot harder than it used
to be because it is harder to find a corporate entity that is
confident enough to give permission, even for stuff that is so old
that it is unlikely to have a trumppenceworth of commercial value.
Then IBM vs SCO intervened, and now things are even more fragmented.

There may be other efforts under way now and then to negotiate the
legal minefield.  I wish them all well, and will help them where I
can.

Norman Wilson
Toronto ON


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-09-13 12:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-12  1:31 [TUHS] Shell control through external commands Norman Wilson
2016-09-12  4:44 ` [TUHS] BSD/v8 TCP/IP (was Shell control through external commands) Greg 'groggy' Lehey
2016-09-12  5:24   ` Warner Losh
2016-09-12  5:38     ` Cory Smelosky
2016-09-12  5:48     ` Erik E. Fair
2016-09-12  9:22       ` Joerg Schilling
2016-09-12 10:25         ` Brantley Coile
2016-09-12 11:00           ` Joerg Schilling
2016-09-12 11:16             ` Brantley Coile
2016-09-12 11:42               ` Brantley Coile
2016-09-12 11:42               ` Joerg Schilling
2016-09-12  7:20     ` Greg 'groggy' Lehey
2016-09-12 18:32       ` Clem Cole
2016-09-13 10:52         ` Tony Finch
2016-09-13 12:54           ` Clem Cole
2016-09-12  9:33 ` [TUHS] Shell control through external commands Joerg Schilling
2016-09-12 12:56 [TUHS] BSD/v8 TCP/IP (was Shell control through external commands) Norman Wilson
2016-09-12 15:27 ` Joerg Schilling
2016-09-12 15:41 Norman Wilson

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).