[TUHS] 8th Edition timeline

Paul Ruizendaal pnr at planet.nl
Tue Mar 31 02:02:11 AEST 2020

Comments in line:

> On 30 Mar 2020, at 15:26, Clem Cole <clemc at ccc.com> wrote:
> Paul - see below..
> On Mon, Mar 30, 2020 at 3:43 AM Paul Ruizendaal <pnr at planet.nl> wrote:
> To be honest, late 1981 sounds a bit too early for the merge. The 4.1 code was ready in June 1981 and the ’select’ system call was first proposed in July 1981, so it is possible. However, in the BSD line ’select’ was not fully implemented until March/April 1982.

> Please be careful here. 4.1BSD is different from the pre-'4.2' released and 4.2BSD itself. 4.1aBSD was the first pseudo release[1] that started to have the major surgery to support Bill's sockets idea and splice in the UCB rewrite of the BBN code.  4.1BSD was the first system for the Vax that really wide distribution.  'Anyone' with an AT&T license could get it and most people did.  Remember this is the system that BBN (Gurwitz) did the original IP/TCP support (sans sockets - i.e. /dev/ip /dev/tcp ...).  Your date of June '81 for the 4.1BSD release seems late, but I'll accept it.  3BSD was 1979, and I thought 4BSD was a year later, with 4.1BSD a few months after 4BSD (few people actually got 4BSD)

I am aware of that. “20 years of Berkely Unix” says November 1980 for 4BSD and June 1981 for 4.1BSD. From the SCCS log I’d say November 9th and July 1st respectively.

As far as I can tell CSRG integrated the BBN stack with (almost) 4.1 in April 1981 - most of that is in a separate tree, with a few #ifdef’s in the main tree. From SCCS it seems that implementation work on sockets started in Oct/Nov 1981 and 4.1a was released in April or March 1982. From the partial coverage in SCCS I’d say there is no BBN code in 4.1a anymore. The socket API in that release was different from what ended being in 4.1c and 4.2, and seems to have had some wider visibility in 2.9BSD and UniPlus System V - both of which used the 4.1a API (and probably code base).

> That said, Bill and Sam did the heavy lifting on select(2) first in 4.1aBSD and there were some issues (again I have forgotten the details -- I do remember, I was working on my thesis and I had a do a huge rewrite of the AP kernel support to handle select(2) properly).  I remember talking to Sam (arguing with him most probably) about it one night before it was fully created.   I want to say, he had worked on something similar at the firm he was at (the firm name I now forget -- si-mumble -- they were in Mt. View) before he joined CRSG.  I don't remember now the issues I had, but I do remember it was a bit of mess to support the way the AP hardware assumed it could do DMA on the UBA[2]

> [1] 4.1a/4.1b/4.1cBSD was officially internal to UCB and some ARPA-sites, although I would have expected someone like Dennis in 1127 to have been sent it also, as wnj was in the process of leaving for Sun and he took them with him.  For instance, I would take 4.1c to Masscomp.  The key is that these were not as widely distributed as 4.1BSD.   4.2BSD would really accelerate BSD UNIX uptake, because of the networking support but there was more than 2-3 years between 4.1BSD and 4.2BSD.

Yes, Summer 81 - Summer 82 must have been a vibrant year, with much interaction between various Unix groups. By the way, dmr was on the 4.2BSD steering group.

>  [2] The AP's MMU/DMA interface at the time, was causing me great hair, and that was likely to have been part of the reason I wanted some help/changes in the KPI interface - which is actually funny, they eventually came with the CMU Mach MMU changes of 4.4BSD (which was much more friendly to a multiprocessor/coprocessor architecture).  FWIW: I never got them when I was at UCB.

More information about the TUHS mailing list