Subject: Re: Mach for power PC
To: None <macbsd-general@NetBSD.ORG>
From: Christopher M. Hanson <>
List: macbsd-general
Date: 02/23/1995 16:09:41
Excerpts from internet.listserv.macbsd-general: 21-Feb-95 Re:  Mach for
power PC by Rob Browning@cs.utexas.e 
> I'm not sure what you mean by a MacOS emulator, but Apple seems to be
> taking an interest in this port project.

Apple's interest is a Good Thing(tm).  Basically, everything is
implemented as a "server" under Mach.  Threads and tasks (collections of
threads) communicate with servers (which are just other tasks) via a
message-passing mechanism and/or a system-call emulation mechanism that
converts to messaging.  IMHO, Bushnell has the right idea with the HURD.
 Since Mach was designed to support message-passing multiprocessing,
implementing everything separately in little bitty servers that
communicate amongst each other would allow the different servers to
actually run on different CPUs (from what I gather).  The MacOS also
seems to follow this design, at least externally, but the internals are
so incredibly crufty that they can't just break it up.

A re-implementation of at least portions, though, could probably
maximize this capability while still remaining compatible.  Imagine a
multi-CPU 604 or 620 (or even 601) box, with 68k software running under
emulation on one processor, native PPC software on another processor,
and independent hunks of the OS running on the other two CPUs... :-)


PS - Oh yeah, the other cool capabilities of Mach:  Servers are
independent.  This means that on the above 4-CPU PowerMac (or even on a
1-CPU PowerMac) I could be running the 4.4BSD monolithic server *and*
the GNU Hurd multi-server. I could even shut down the Hurd, recompile it
using gcc under the BSD server, and bring it back up *without shutting
down anything else*.  Pretty nifty, huh?

       Chris Hanson, KSC, KTD-2 <> <>
 /o\   Don't see the      .  If you can't see the      , it can't eat you.
 ---   Hail Eris!  All hail Discordia!