The architects of MIT's 6.828 course "Operating Systems Engineering") were unsatisfied with the current stable of systems for teaching, so they did a reimplementation of 6th Edition in modern ANSI C (with a couple of GNU extensions for things like assigning names to registers) targeting a multiprocessor x86.

As I look it, it is a clean interesting, and accessible piece of work.  As the person that mentioned it to be said: "a modern take on a classic" - the course if being offered this fall at the URL:   6.828 / Fall 2014

The latest xv6 source is available via
        git clone git://pdos.csail.mit.edu/xv6/xv6.git

Tools are can be found at:   6.828 / Fall 2014

Using the MIT course or the Lion's text will teach how the kernel works and how a user program interacts with it.   IMO: Lion's commentary is super and 100% of the source is there to read and ponder.  Please remember that generations of the best kernel hackers started with this document (although some of us predate it - but when I saw it I made a copy). 

And as I said, I just looked at the MIT documents and they are awesome too; but I have just opened them up and have not yet gotten a chance to try the exercises.

What is even cooler is if you want to try xv6 - it will just run on your system using QEMU (which the MIT folks point too - they even made some mods to QEMU to help with their project).   

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?

        David
_______________________________________________
COFF mailing list
COFF@minnie.tuhs.org
https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff