From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id f7991ede for ; Fri, 17 Jan 2020 16:17:35 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id AF5B79C0FA; Sat, 18 Jan 2020 02:17:34 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 04F0F9C0F7; Sat, 18 Jan 2020 02:15:35 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ccc.com header.i=@ccc.com header.b="rwjPCgut"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 19FAB9C0F7; Sat, 18 Jan 2020 02:15:33 +1000 (AEST) Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by minnie.tuhs.org (Postfix) with ESMTPS id 1FB7D9B842 for ; Sat, 18 Jan 2020 02:15:29 +1000 (AEST) Received: by mail-qt1-f174.google.com with SMTP id 5so22172046qtz.1 for ; Fri, 17 Jan 2020 08:15:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cDGXB5HTc0e8IYN1O30L3tT6jtFlFtOFgytS7T71pgc=; b=rwjPCgutg2IDgUP69icqFqDjnPIAxlQPpLRrsd/6PqGTV6DEjRbfvOy3tlbp2bbUdK OpYxE2RUUAxXc8Kz96hd74i/HKD5P6krpkFvTrpvgIg3uJXbikdyvcQyXXe2EC12+102 PQHryOmzHCk2XrkGpcbwMKziczjJSWG80Ydmg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=cDGXB5HTc0e8IYN1O30L3tT6jtFlFtOFgytS7T71pgc=; b=qQYtxLOw4mtT0jgYLJ35ODduouBC1DPEaxSZ2JcPBiT0T4QE4IXSUftYMVfMbXWxtx +IQRsEYpTFoyyRU14I0x7MRxwHWX0NoWxTAk4XWk1EIFrOkfBCvkd+UPVtnLDkKj78xA xvaSlvKRkYdSa826HKQRtB7Iuz0OM/9K1rmh/v3481ydFd0+fDmKXAExgWGxVfs3oxlB kn5KwU9FhCxfTpmKkkxyujnCV/QVvVCfkoIiiJMMzP8jndKrtVIm87Poo42AJCqES82R Rw6QzZF5YGqudBN9NN/xLFmExjTSV04WEKERp/+baTRkNIRWLDVLXyBFnFOO4prZEIBd 2VdQ== X-Gm-Message-State: APjAAAV1HkGzMqkS/50yydITQR2ha3PhEhvx24Ojp31/uq45E+NU+Dy6 O0DF/1huhMsgeTF6SMUjubObGeEaKkdWacAD2ECLsA== X-Google-Smtp-Source: APXvYqzYg9kne6xMt985AjK6wkzHt7y+BpONQg5VJ94Q6ImdAbZq2sOkHK8WblkuGEWu5VlGM8jlHV7hYLNVhWj7MRc= X-Received: by 2002:aed:3eee:: with SMTP id o43mr8327255qtf.33.1579277727965; Fri, 17 Jan 2020 08:15:27 -0800 (PST) MIME-Version: 1.0 References: <202001171431.00HEV3gF020029@tahoe.cs.Dartmouth.EDU> <20200117152334.GJ28686@mcvoy.com> In-Reply-To: From: Clem Cole Date: Fri, 17 Jan 2020 11:15:01 -0500 Message-ID: To: Warner Losh Content-Type: multipart/alternative; boundary="000000000000fa3b5d059c583fad" Subject: Re: [TUHS] Lions book X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society , Doug McIlroy Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000fa3b5d059c583fad Content-Type: text/plain; charset="UTF-8" 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 wrote: > > > On Fri, Jan 17, 2020 at 8:24 AM Larry McVoy 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 > --000000000000fa3b5d059c583fad Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I completely agree.=C2=A0 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.=C2= =A0 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.=C2= =A0 It also helps to understand what makes 'UNIX-ness' and why it w= as different from anything before it came on the scene.

<= div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif= ">BTW: It' why I still like Pascal (Delphi) over C or C++ as a first la= nguage (I admit, I'm leaning towards Go these days, but Go lacks a good= teaching text).=C2=A0 This is what I heard Doug saying.=C2=A0 =C2=A0IMO:= =C2=A0 Lion's book and the V6, can be considered 'old' by conte= mporary standards, but they are still 100% appropriate=C2=A0and because the= book and code is so simple, the teacher and the student can focus on what = really matters (i.e.=C2=A0learning to walk carefully in a directed m= anner and get to your destination before you are forced to run with the bul= ls and avoid getting run over).

<= div dir=3D"ltr" class=3D"gmail_attr">On Fri, Jan 17, 2020 at 11:01 AM Warne= r Losh <imp@bsdimp.c= om> wrote:


On Fri, Jan 17, 2020 at 8:24 AM Lar= ry 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 h= ow it
> works, John's commentary it difficult to beat.

It's a good starting point but it's pretty outdated.=C2=A0 I like t= o 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.=C2=A0 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.=C2=A0 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".=C2=A0 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 y= ears when I re-read the Lions book. The stark simplicity of the v6 kernel h= elped everything suddenly 'click' into place in the code I was read= ing in the FreeBSD kernel, even with 30ish years of changes to the v6 code = base that lead to the FreeBSD kernel...

Newer syst= ems are a lot more complicated. And they need to be to get the full perform= ance out of the system. Yet understanding the basics without the extra clut= ter has great value.

Warner=C2=A0
--000000000000fa3b5d059c583fad--