[TUHS] Warner's Early Unix Presentation

Warner Losh imp at bsdimp.com
Sun Feb 9 01:15:34 AEST 2020

On Fri, Feb 7, 2020 at 4:58 PM Rob Pike <robpike at gmail.com> wrote:

> Very nice talk with lots of good background. It made me think of the boxes
> of DECTapes we had under the Unix room floor, and what we might have lost.
> (Volunteers did manage to recover a couple of them, but time was short).

That makes me sad... :( It seems weird: in the Unix room were also all the
binders of PDP-7 code that we've retyped in. I wonder if that was
considered the archive for early unix, and that may be why we don't have
enough early unix artifacts before the 5th edition? I know it was a bit of
a rolling release, but I would have thought that ken or dmr would have made
archival copies of the system around 'manual edition day' given all the
other artifacts they saved.

> PWB inaccuracy: The talk said that tools like grep and sed came from PWB,
> but that's not true. They were original, as I'm sure Warner knows; he just
> misspoke.

Yes. I got confused. In the talk the organizers flashed the time signs too
early so I got nervous and rushed through some bits (it didn't help that
this was the largest room I've spoken to and it was in the 'lunch coma'
spot so some people fell asleep). I also never have a script for the talks,
just a good understanding of the material and a rough list of points I'd
like to make...  And at the last minute I thought it would be better to
characterize all the v4-based systems as the early forks and de-emphasize
that SCCS Unix -> CB Unix was the first fork, so I thought I made that
point a little more awkwardly than I would have liked.

> Slightly more important: PWB also did not introduce the idea of the shell
> (neither did Unix, for that matter), although there was a distinct shell
> for that system that included the legendary pump operator, later superseded
> by here documents.

Yes. I'd only mean that pwb enabled people to start writing real,
non-trivial shell scripts. There's other scripts in the tree prior to
Bourne Shell...  There's several 'runit' scripts that look to build things
pre-make. There's also sources to 'goto.c' which implemented 'goto label'
by rewinding stdin until it finds the label then exiting (I presume the
older shell would then start reading again from stdin). Or maybe I've
totally missed the point of s1/goto.c... there's no comments in it. It is a
bit of a stretch, though, you're right.

> The flow from PWB back to the main research line was a trickle at best. We
> had bad NIH in 1127.

That matches other sources I've seen: bug fixes flowed into research
relatively easily. Performance fixes sometimes (though often not). Some
drivers did. And only the occasional program. It's my belief that this slow
level of flow is why AT&T shifted from the Research line to the Unix/TS
line and merged Unix/TS and PWB into Unix/TS 3.0 (System III was 3.0.1) and
roped other internal lines into Unix/TS 4.0 and/or System V. I also now
wonder if we got the Bourne Shell because of NIH or because there was some
clear technical defect in pwbsh that Steve Bourne was correcting... There
were no env vars before V7, and I haven't looked at the pwb sh to see how
that issue was handled. I'll have to also include the 'pump' operator in
future talks.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20200208/d3d2ba32/attachment.html>

More information about the TUHS mailing list