The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Warner Losh <imp@bsdimp.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>,
	Doug McIlroy <doug@cs.dartmouth.edu>
Subject: Re: [TUHS] Lions book
Date: Fri, 17 Jan 2020 11:15:01 -0500	[thread overview]
Message-ID: <CAC20D2NcL1fj0Dst67Rzm1k1qKGWfmGFxsLsh3JAFeF+mgk8nQ@mail.gmail.com> (raw)
In-Reply-To: <CANCZdfq9jZCHyuNfWV1khYpUvuStL6WWFQQH_TJh9mhp7o32ZQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2875 bytes --]

I completely agree.  Studying and >>learning<< from V6 allows you to
consider the basics of what any good OS, no just a UNIX-like system, has to
do provide simple but complete services.  Examining V6 not most of the
things you find today removes a lot of the noise, like threading, parallel
execution, vm, networking, which are fine topics for later, but Warner is
right - get a solid understanding first.  It also helps to understand what
makes 'UNIX-ness' and why it was different from anything before it came on
the scene.

BTW: It' why I still like Pascal (Delphi) over C or C++ as a first language
(I admit, I'm leaning towards Go these days, but Go lacks a good teaching
text).  This is what I heard Doug saying.   IMO:  Lion's book and the V6,
can be considered 'old' by contemporary standards, but they are still 100%
appropriate and because the book and code is so simple, the teacher and the
student can focus on what really matters (*i.e.* learning to walk carefully
in a directed manner and get to your destination before you are forced to
run with the bulls and avoid getting run over).

On Fri, Jan 17, 2020 at 11:01 AM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Fri, Jan 17, 2020 at 8:24 AM Larry McVoy <lm@mcvoy.com> wrote:
>
>> On Fri, Jan 17, 2020 at 09:50:24AM -0500, Clem Cole wrote:
>> > 6th Edition is clear and if you want to understand what it takes and
>> how it
>> > works, John's commentary it difficult to beat.
>>
>> It's a good starting point but it's pretty outdated.  I like to go on and
>> on about how much I love the SunOS 4.x kernel but it is outdated as well.
>>
>> I wish there was a v6/SunOS like kernel that was as clean but had good
>> support for SMP and NUMA and TCP offload (and probably a long list of
>> other useful stuff I've forgotten).
>>
>> Teaching kids how a single threaded kernel works is cool but it's
>> also misleading, the world has gotten a lot more complex.  And while
>> the kernels of decades ago were clean and simple, I don't know of
>> a kernel to point people to that has the clean code that SunOS had.
>> Solaris isn't it, though it has some bright spots.  Linux is meh, it's
>> better than nothing by a lot but I would not point to it as "read this,
>> kid, you'll see the architecture".  It's not clear there is a good
>> answer.
>>
>
> It's but the first step on the road to understanding. I'd been working on
> the FreeBSD kernel for years when I re-read the Lions book. The stark
> simplicity of the v6 kernel helped everything suddenly 'click' into place
> in the code I was reading in the FreeBSD kernel, even with 30ish years of
> changes to the v6 code base that lead to the FreeBSD kernel...
>
> Newer systems are a lot more complicated. And they need to be to get the
> full performance out of the system. Yet understanding the basics without
> the extra clutter has great value.
>
> Warner
>

[-- Attachment #2: Type: text/html, Size: 3929 bytes --]

  reply	other threads:[~2020-01-17 16:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-17 14:31 Doug McIlroy
2020-01-17 14:50 ` Clem Cole
2020-01-17 15:23   ` Larry McVoy
2020-01-17 16:00     ` Warner Losh
2020-01-17 16:15       ` Clem Cole [this message]
2020-01-17 17:21     ` Adam Thornton
2020-01-18  3:35       ` G. Branden Robinson
2020-01-17 15:24   ` John P. Linderman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAC20D2NcL1fj0Dst67Rzm1k1qKGWfmGFxsLsh3JAFeF+mgk8nQ@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=doug@cs.dartmouth.edu \
    --cc=imp@bsdimp.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).