[TUHS] Happy birthday, Niklaus Wirth!

Norman Wilson norman at oclsc.org
Mon Feb 19 06:50:46 AEST 2018


As an aside about Wolfram and SMP (and one that actually has
something to do with UNIX):

I ran the VAX on which Wolfram et al (and it was very much et al)
developed SMP.  It started out running UNIX/TS 1.0.  I know how
that system was snuck out of Bell Labs, but if I told you I'd have
to terminate you with extreme prejudice.  (I wasn't involved
anyway.)

SMP really needed dynamic paging; the TS 1.0 kernel had only
swapping.  We had quite a few discussions about what to do.
Moving wholesale to 3BSD or early 4BSD (this was in 1981)
would have been a big upheaval for our entire user community.
Those systems were also notorious at the time for their delicate
stability: some people reported that they ran well, others that
they crashed frequently.  Our existing system was pretty solid,
and I had already put some work into making it more so (better
handling of low-level machine errors, for example).

Somehow we ended up deciding that the least-painful path was
to lift the VM code out of 4BSD and shoehorn it into our
existing kernel, creating what we called Bastardized Paging
UNIX.  I did most of the work; I was younger and more energetic
back then.  Also considerably grumpier.  In the heart of the
page-in (I think) code, the Berkeley guys had written a single
C function that stretched to about ten printed pages.  (For those
too young to remember printers, that means about 600 lines.)
I was then and still am adamant that that's the wrong way to
write anything, but I didn't want to take the time to rewrite
it all, so (being young and grumpy) I relieved my feelings by
adding a grumpy comment at the top of the source file.

I also wrote a paper about the work, which was published in
(of all places) AUUGN.  I haven't read it in years but it was
probably a bit snotty.  It nevertheless ended up causing a
local UNIX-systems-software company to head-hunt me (but at
the time I had no interest in leaving Caltech), so it must
not have been too rude.

What days those were, when a single person could understand
enough of the OS to do stuff like that in only a month or two,
and get it pretty much right too.  I did end up finding some
interesting race-condition bugs, probably introduced by me, but
fascinating to track down; e.g. something that went wrong only
if a page fault happened at exactly the right time with respect
to something else.

Norman Wilson
Toronto ON



More information about the TUHS mailing list