The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Ben Greenfield <ben@cogs.com>
Cc: Tuhs <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] CMU Mach sources?
Date: Thu, 27 Jun 2019 08:58:22 -0600	[thread overview]
Message-ID: <CANCZdfp3Zx2D4u1gDZsAa8w830rdwfXHmxpqw7cAoZbJMiGXSg@mail.gmail.com> (raw)
In-Reply-To: <648F2E41-08C4-4A76-9AD0-D69F851EF0D7@cogs.com>

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

On Thu, Jun 27, 2019 at 5:13 AM Ben Greenfield via TUHS <
tuhs@minnie.tuhs.org> wrote:

>
>
> > On Jun 27, 2019, at 6:59 AM, arnold@skeeve.com wrote:
> >
> > Larry McVoy writes:
> >>>> OK, I'll bite.  Go read the source in the FreeBSD tree, which has
> been
> >>>> reduced in size by 60% according to someone on the team.  Then come
> >>>> back and draw me a picture of what it does.
> >
> > On Jun 27, 2019, at 12:01 AM, Lyndon Nerenberg <lyndon@orthanc.ca>
> wrote:
> >>> Larry, it seems to me your argument is the Mach code should never
> >>> have been incorporated into BSD in the first place.  That's fine,
> >>> but it's not the Mach developers fault that happened, so maybe you
> >>> should lay off them for not writing their research software to a
> >>> production shop standard they were never a part of?
> >
> > Ben Greenfield via TUHS <tuhs@minnie.tuhs.org> wrote:
> >> My understanding is that the  BSD layer was a requirement from DARPA.
> >> DARPA wanted a “normal” interface to the kernel and BSD was that
> interface.
> >
> > Yes, Mach had to provide a BSD layer on top, but that's not the source
> > of Larry's gripes.
> >
> > It's the other way around. 4.4 BSD pulled the VM code out of Mach and
> > into BSD to provide mmap and some level of portability off the Vax. From
> > there the Mach code got into FreeBSD.  That's what Larry is complaining
> > about and what Lyndon is saying isn't fair to the Mach guys.
>
> Thank you for this clarification, so this conversation has been going on
> since the 80’s and gets ignited from time to time.
>

Yea, there's been three or four rounds of rototilling in the FreeBSD vm.
While it shares some structures with its Mach ancestors, complaining about
it to paint Mach as this or that is unfair.

FreeBSD's sys/vm has had a crapton of changes to make to scale in an MP
system, to adopt non-uniform page sizes, etc. Some of these changes have
been done with skill and subtly. Some have been done by a ham-fisted
goober. It would overstate things to say the most recognizable part of Mach
is the copyright headers :), but those bits are arguable the most
unchanged. What's resulted lacks architectural purity because it wasn't
designed from scratch to be pure. It's grown organically over the last
30-odd years as different groups, companies and organizations have found it
necessary to fund development.

The SunOS 4.x code, which was almost donated to the BSD project only to be
scuttled at the last minute, has the twin advantages of being purpose built
for only two architectures and didn't need to scale to thousands of CPUs,
and stopped evolving in the 90s. As such, it can maintain its architectural
purity since it's not needed to grow and adapt since then. All that
"growth" happened in Solaris. So it's also a bit unfair to compare that
code which was developed over a decade to FreeBSD's.

But yea, DARPA was about networking in the Unix world. BSD was Unix at the
time since AT&T didn't have the business structure to do the contracts, and
BSD's 2BSD or 3BSD was little more than a slightly more evolved V7 research
edition with some really cool user land features and a few more drivers for
hardware BSD users had. The Mach VM came late to the game and was never the
focus of the DARPA contracts.

For another view on how well CSRG integrated Mach into BSD, see NetBSD's
uvm, a complete rewrite.

Warner

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

  parent reply	other threads:[~2019-06-27 14:59 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-23  4:38 Chris Hanson
2019-06-23  5:15 ` Larry McVoy
2019-06-23  8:52   ` Andrew Warkentin
2019-06-23 13:39   ` Jon Forrest
2019-06-23 13:59     ` arnold
2019-06-23 14:03     ` Jason Stevens
2019-06-23  8:04 ` Jason Stevens
2019-06-23 14:54   ` Henry Bent
2019-06-23 21:52     ` Clem Cole
2019-06-25  0:06       ` Larry McVoy
2019-06-25  0:31         ` Theodore Ts'o
2019-06-25  0:45           ` Larry McVoy
2019-06-25  0:55             ` Kurt H Maier
2019-06-25  4:18               ` Larry McVoy
2019-06-26 23:19                 ` [TUHS] Craft vs Research (Re: " Bakul Shah
2019-06-27  0:16                   ` tuhs
2019-06-27 17:06                     ` Clem Cole
2019-06-25  1:00             ` [TUHS] " Richard Salz
2019-06-25  8:00               ` Kevin Bowling
2019-06-25 12:11                 ` Arthur Krewat
2019-06-25 12:17                   ` Arthur Krewat
2019-06-26  2:45               ` Kurt H Maier
2019-06-26  2:56                 ` Larry McVoy
2019-06-26 15:11                   ` Theodore Ts'o
2019-06-26 17:44                     ` Larry McVoy
2019-06-26 18:01                       ` arnold
2019-06-26 18:18                         ` Warner Losh
2019-06-26 19:22                       ` Chris Hanson
2019-06-26 19:32                         ` Ben Greenfield via TUHS
2019-06-26 20:21                           ` Larry McVoy
2019-06-27  0:22                             ` Chris Hanson
2019-06-27  1:02                               ` Larry McVoy
2019-06-27  1:26                                 ` Chris Hanson
2019-06-27  4:01                             ` Lyndon Nerenberg
2019-06-27 10:34                               ` Ben Greenfield via TUHS
2019-06-27 10:59                                 ` arnold
2019-06-27 11:13                                   ` Ben Greenfield via TUHS
2019-06-27 11:39                                     ` arnold
2019-06-27 14:58                                     ` Warner Losh [this message]
2019-06-27 17:25                                       ` Larry McVoy
2019-06-26 19:30                       ` Dennis Boone
2019-06-26 19:25                     ` Adam Thornton
2019-06-23  8:27 ` Kevin Bowling
2019-06-25  3:07 ` Gregg Levine
2019-06-25  8:15   ` Kevin Bowling
2019-06-25 18:18   ` Chris Hanson
2019-06-25 20:23     ` Gregg Levine
2019-06-26  1:04       ` Jason Stevens
2019-06-26  0:53     ` Jason Stevens
2019-06-25  7:49 ` Jason Stevens
2019-06-25  7:59   ` Andreas Grapentin
2019-06-23 22:08 Noel Chiappa
2019-06-23 23:54 ` Theodore Ts'o
2019-06-24 17:04   ` Jason Stevens
2019-07-01 13:20 Jason Stevens

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=CANCZdfp3Zx2D4u1gDZsAa8w830rdwfXHmxpqw7cAoZbJMiGXSg@mail.gmail.com \
    --to=imp@bsdimp.com \
    --cc=ben@cogs.com \
    --cc=tuhs@minnie.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).