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
<http://pdos.csail.mit.edu/6.828/2014/xv6.html>
The latest xv6 source is available via
git clone
git://pdos.csail.mit.edu/xv6/xv6.git
<http://git//pdos.csail.mit.edu/xv6/xv6.git>
Tools are can be found at: 6.828 / Fall 2014
<http://pdos.csail.mit.edu/6.828/2014/tools.html>
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(a)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(a)minnie.tuhs.org
https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff