Why V7 Unix matters so much

November 21, 2021

When I talk about things involving the history of Unix, I often wind up mentioning V7, also known as Seventh Edition of Research Unix from Bell Labs (for a recent example, in my entry on when Unix got stack size limits). If you're relatively new to the history of Unix, you might wonder why V7 keeps coming up so often. There are a number of reasons that V7 matters so much both for the history of Unix and for what is what we think of as being 'Unix' and the Unix way.

Unix and C were originally created and developed in the Bell Labs Computing Sciences Research Center (CSRC) by various well known people like Ken Thompson and Dennis Ritchie. The CSRC's release of V7 was a pivotal moment in the history of Unix, as it was both widely publicized and relatively widely distributed. This led to a number of effects, both practical and of perceptions.

First, V7 is effectively the common ancestor of various strains of Unix since then (this is not quite true for PWB, but close enough). Both BSD Unix and AT&T Unix (System III and System V) branched off from V7, so things in V7 were generally inherited by both of them, while things introduced after V7 (in some Unix line) had to make their way back and forth and didn't always migrate. This tends to be why I go back to V7 (and often no further) to see when something was introduced and if it was originally common to BSD Unix and System III/System V.

Second, V7 was where a lot of what we think of as the way Unix and C are was established. V7 is where we got the Bourne shell and a relatively modern dialect of C, including stdio; both the V6 shell and C were somewhat different, to the point that you couldn't necessarily compile V6 programs even on 1980s C compilers (never mind modern ones). In fact a lot of 'Unix' comes from V7, and it's probably the oldest Research Unix that would feel normal and familiar to us today as users of modern Unix.

(The Wikipedia page on Research Unix has a useful summary of what was introduced in what version.)

V7 was also the most widely publicized version of Unix up until that point and probably for a significant while later. The Bell Labs Technical Journal published a lot of Unix papers in July and August of 1978, for example (this was before V7 was released in January 1979, but the papers were about what was in the process of becoming V7). The V7 documentation was made into a two volume, officially published thing in the early 1980s that you could buy in bookstores (well, probably only university and technical bookstores), which made it possible for people in general to be thoroughly exposed to detailed Unix things from V7 (and also to C). This spread the ideas and influence of Unix and C even to people who had never used V7.

(I would like to say that V7 was also widely distributed to universities (and to some extent to elsewhere), and was thus where people became exposed to Unix, but in practice I don't think this was the case. V7 had a relatively narrow time window of only a few years before it was supplanted in universities by BSD Unix, partly because BSD ran on the much more powerful and capable DEC Vax.)

A somewhat less pleasant reason to come back to V7 is that it was the last significant Unix release from the Bell Labs CSRC. To quite a lot of people, this makes V7 the last 'pure' Unix, the one that expresses the intentions of the creators of Unix. All other Unixes (BSD, System V, and Linux) are in some sense contaminated by outsiders who did not fully get the Unix philosophy. Both BSD Unix and System III/V added and changed things which people find objectionable and non-Unixy, so ignoring these as 'not in V7 and in the original intentions of Unix' is sometimes seen as convenient (even if, in practice, very few people use Unixes without these things).

The corollary is that if something was in V7, you can argue that it's probably pretty close to what the creators of Unix thought it should be like. This causes people to look at V7 to in some sense see Unix in its pure form, before it was contaminated by later people and concerns.

PS: Even if V7 didn't last very long at many universities, my impression is that it often was what got Unix started at them. People might not have been quite as enthused about buying Vaxes and using BSD Unix if they hadn't had the experience of V7 before it, or heard from people who had that experience.

Comments on this page:

By tux0r at 2021-11-22 12:52:24:

To be fair, V8 UNIX (the last Unix that was an actual release) had the original Unix team as well, and it laid the foundations for Plan 9 (introducing the rc shell and the Blit terminal) later.

1BSD and 2BSD were for 6th Edition UNIX, and 3BSD combined all of the userland tools in 1+2BSD with a better page-based virtual memory subsystem for V32, which itself branched off 7th Edition UNIX.

The latest FreeBSD developer summit had a talk by Warner Losh which I imagine will be posted soon, that covers all of the early UNIX history in a lot of great detail.

The release of 8th Edition UNIX by Alcatel-Lucent also included the 9th Edition and 10th Edition UNIX, although if memory serves, it's only for non-commercial use.

By Greg A. Woods at 2021-12-05 01:44:14:

At the time I was starting out in the consulting world there were quite a number of V7 ports that I encountered on all kinds of random hardware -- i.e. in that window just before UNIX System III was picked up by vendors and started showing up.

As I recall System III was really not very different from 32V, except in packaging, though the Wikipedia article says it was quite a mix of everything.

A great many of those earliest systems were of course based on the quite cost-effective Motorola M68000 processors. I wish I could remember some of the early vendor names, but the Wikipedia article correctly reminds me that most of the 68k variants of V7 were based on the port done by UniSoft.

Then there were the Xenix derivatives, which I think was first based on PWB, not V7 (though Wikipedia disagrees, but without any attribution), but Xenix of course moved over to the System III stream quite quickly.

Written on 21 November 2021.
« Linux has no fair-share scheduling that really works for compute servers
Why it matters to us if exploits are available for security issues »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Nov 21 23:55:37 2021
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.