2008-10-21
Seeing how remarkable V7 Unix was
One of the interesting things that the Unix Heritage Society does is that it lets us go back and see just what a remarkable thing Seventh Edition Unix was, how much it was an aesthetic flowering and really created a lot of what we now think of as 'Unix'.
It does this not so much by letting us going back to see V7 as it was (by modern standards, V7 is nothing terribly impressive and is in some ways rather primitive). Rather, it does this by letting us go back and see the Sixth Edition (V6) as well as V7. Looking at both versions makes it very clear just how much of a jump there was between V6 and V7, and thus how much of what we think of as 'the Unix way' only appeared in V7 and was not a straightforward evolution from V6.
My impression is that this flowering was not so much from the low
level details of the system (the V6 and V7 system call lists are
pretty similar, for example), but from higher level programs and
decisions. Many of what we think of as signature Unix programs
only appeared in V7, things like awk
, make
, even sed
. (And
the Bourne shell.)
Sidebar: the V6 shell
The V6 shell is (or seems to be) by modern standards a rather
peculiar beast. I particularly enjoy how commands like exit
and its looping construct were
implemented: rather than being builtins, they used seek()
to change
the position of the shell's command file descriptor, so that the shell
would read a different next command. (Or in the case of exit
, so that
the shell would immediately see end-of-file.)