BTW: that was cut/pasted from my quora answer: Clem Cole's answer: Which
Linux kernel version's source code is better for newbie to read?
<https://www.quora.com/Which-Linux-kernel-versions-source-code-is-better-for-newbie-to-read/answer/Clem-Cole>
ᐧ
ᐧ
On Thu, Jan 10, 2019 at 10:23 AM Clem Cole <clemc(a)ccc.com> wrote:
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