On Thu, Jan 10, 2019 at 10:00 AM David <david@kdbarto.org> wrote:
Myself it was v6 (most likely the typesetter version).

What I’d like to see discussed is how people today learn to write, enhance, design, and otherwise get involved with an OS.

When I was teaching at UCSD my class on Unix Internals used writing a device driver as the class project and covered an overview of the Unix OS using the Bach book. Even then (the late 80’s) it was hard to do a deep dive into the whole of the Unix system.

Today Linux is far too complex for someone to be able to sit down and make useful contributions to in a few weeks possibly even months, unlike v6, v7 or even 32v. By the time of BSD 4.1[a,b,c] and 4.2 those had progressed to the point that someone just picking up the OS source and trying to understand the whole thing (VM, scheduling, buffer cache, etc) would take weeks to months.

So what is happening today in the academic world to teach new people about OS internals?

I'm a kernel engineer, but I don't have much of a formal background in computer science; my training was in mathematics.

However, I audited the MIT OS course about a year ago (my office is across the street from campus and Robert Morris and Adam Belay were kind enough to let me sit in on the class and pester them with questions). They used JOS, which has a fairly unique architecture, and xv6, which is a "modern" re-implementation of most of v6.

I've seen some universities try to cover Linux (I believe my alma mater, Columbia, does this), and I imagine that what that means is that they talk about various subsystems at a relatively high level and give some very focused programming assignments.

In the 90s there was a flurry of "teaching" operating systems. Things like NACHOS and some successor systems were popular. I suspect Minix remains popular in some circles, though I don't know.

I remember once in the 90s talking to some sysadmins; one of the Unix guys got talking to the local VMS guru (who, by the way, was an amazingly talented programmer--probably one of the best I've ever seen before or since). They got to arguing about the merits of the respective systems and the Unix guy incredulously said, "Unix is the textbook operating system..." to which the VMS guy replied, "yeah, because the textbook was written about Unix...". That's kind of a true statement and has always sort of stuck with me.

The systems that influence me personally the most in my day-to-day work are plan9, Unix, VMS (also in its other guise as Windows), Akaros, and to a lesser extent L4, Multics, TOPS-20 and Minix.

        - Dan C.