The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Henry Bent <henry.r.bent@gmail.com>,
	Jason Stevens <jsteve@superglobalmegacorp.com>,
	Larry McVoy <lm@mcvoy.com>
Cc: "tuhs@minnie.tuhs.org" <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] CMU Mach sources?
Date: Sun, 23 Jun 2019 21:52:33 +0000	[thread overview]
Message-ID: <CAC20D2Nfz9KomdGG_o5sp-iam8bpbzWQLF2uB2apWJ0W6i4ckw@mail.gmail.com> (raw)
In-Reply-To: <CAEdTPBeaDesz42GAfbQ-0B12O1VQW44ySgr6ezJpxRZv90BOCA@mail.gmail.com>

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

A couple of thoughts...

1.) Mach2.5 and 3.0 was part of an *extremely successful research project*
but also did suffer from issues associated with being so.  CSRG BTW *was
not a research project*, contrary to its name, it was a support contract
for DARPA since BTL would not support UNIX the way DEC, IBM, *et al*, did
with their products.   The reality is that Mach more than Thoth**), V
Kernel, QNX, Sol, Chrous, Minux or any other uK of the day, changed the way
people started to think about building an OS.    Give Rashid and team
credit - it showed some extremely interesting and aggressive ideas could be
made to work.

2.) Comparing Mach with BSD or SunOS 4.3 is not really a valid comparison.
 They had different goals and targets.   Comparing Ultrix, Tru64, or Mac
OSx with SunOS (or Solaris for that matter) is fair.   They all were
products.  They needed to be clean, maintainable and extensible [as Larry
likes to point out, Sun traded a great deal of that away for political
reasons with Solaris].   But the bottom line, you are comparing a test
vehicle to a production one.  And I while I agree with Larry on the
internals and a lot of the actual code in Mach, I was always pretty damned
impressed with what they crammed into a 5 lbs bag in a very short time.

3.) Mach2.5/386/Vax/etc.. << OSF/1 386 the later is similar what MtUnix
shipped.  Both are 'hybrid' kernels.   But while MtUnix created a product
with it, they were too small to do what DEC would later do.   But the
investment was greater than I think they could really afford.

4.) Mach 3.0 was from CMU, Mach 4.0 (which is still sort of available) was
from the OSF/1 [this is a pure uK].

3.) DEC OSF/1 (for MIPS) << Tru64 (for Alpha) - *a.k.a.* Digital UNIX - yes
both started with a Mach 2.5 hybrid kernel and the later was mostly the
same as OSF/1386, and both supported the Mach2.5 kernel message system -
but DEC's team rewrote darned near everything in the kernel -- which in
fact was both a bless and a curse [more in a minute].

Ok, so why have I bothered with all this mess.   The fact is Mach was able
to be turned into a product, both Apple and DEC did it.   Apple had the
advantage of starting with NextOS which (along with machTen) was the first
short at making a 'product' out of it.  But they invested a lot over the
years and incrementally changed it.  Enough to create XNU.    DEC was a
different story (which I lived a bit of personally).

The DEC PMAX (mips) and the Intel 386 were the first references from OSF.
 OSF had an issue.  IBM was supposed to deliver an OS, but for a number of
reasons was not ready when OSF needed something.   CMU had something that
was 'good enough.'

This is probably where Larry and I differ a little on shipping code.  I'm a
great believer figure out one solid goal and nailing it, and the rest is
'good enough' - i.e. fix in version 2.   I think OSF/1 as a reference
system nailed it.   Their job was get something out as a starting base that
ran on at least 2 workstations (and one server - which IIRC was an HP,
maybe an Encore box) but able to be shipped on an AT&T V.3 unlimited
license [which IBM had brought to the table].   The fact that they did not
spend a lot of time cleaning up about CMU at this stage was not their job.
 The kernel had to be good enough - and it was (Larry might argue Mach2.5
vs SunOS 4.3 it was not as good technically - and he might be right - but
that was not their job).

So DEC gets a new code based.  They have Ultrix (a product) for the PMAX.
OSF has released the reference port.   From a kernel code quality
standpoint, OSF1 1.0/PMAX < Ultrix/RISC 4.5.   They also are moving to a
new 64-bit processor that is not going to run either VAX or PMAX binaries (
*i.e.* you will have to recompile).   Two technical decisions and one
marketing one were made at the management level that would later doom
Tru64.   First, it was agreed that Tru64 was going to be 'pure 64-bit' and
it turned out >>none of the ISVs had clean code.  Moreover, there were no
tools to help find 64-bit issues.  This single choice cost DEC 3 years in
the ability to ship Tru64/Alpha.   The second choice was DEC's team decided
to re-write OSF/1 subsystem by subsystem.   The argument would be:  the XXX
system sucks.  It will never scale on a 64-bit system and it will not work
for clusters.  XXX was at least Memory Management, Terminal Handler, Basic
I/O, SCSI, File System.  The >>truth<< is each of these was actually right
in the small, they did suck.   But the fact is, they all were good enough
to get the system out the door and get customers and ISV's starting the
process of using the system.   Yes, Megasafe is an excellent FS, but UFS
was good enough to start.   The marketing decision BTW, that not to ship
Tru64/PMAX.   Truth is it was running internally.  But Marketing held that
Tru64 was the sexy cool thing and did not want to make it available.  The
argument was they would have to support it.   But the truth is that asking
ISV's and customers to switch Architecture and OS in one jump, opened the
door to consider Sun or HP (and with Tru64/Alpha's ecosystem taking 3 more
years, people left DEC).





** Mike Malcolm was the primary author of Thoth as his PhD from Waterloo.
HIs officemate, Kelly Booth (of the 'Graphics Killer-Bs) had a tee-shirt
made that exhaled:  'Thoth Thucks' and gave them to the lot of the Waterloo
folks.   BTW, Mike and Cheridon would later go to Stanford and create V.
 Two of their students would create QNX with still lives.

>

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

  reply	other threads:[~2019-06-23 21:53 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 [this message]
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
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=CAC20D2Nfz9KomdGG_o5sp-iam8bpbzWQLF2uB2apWJ0W6i4ckw@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=henry.r.bent@gmail.com \
    --cc=jsteve@superglobalmegacorp.com \
    --cc=lm@mcvoy.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).