[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mach Kernels

On Thu, 27 Jan 2000 10:21:59 PST, the world broke into rejoicing as
R Joseph Wright <rjoseph@nwlink.com>  said:
> Marcus Brinkmann wrote:
> > 
> > R Joseph Wright wrote:
> > >
> > > What is the big advantage of using a mach microkernel?  Is it used
> > > because the developers didn't want to reinvent the wheel and thus chose
> > > to use a preexisting platform from which to begin a new os?
> > 
> > AFAIK, yes. But Mach also offers a rich set of semantics to work from.
> > However, the Hurd itself is mostly microkernel independent and could be
> > ported
> > to other microkernels.
> > 
> > > Or is it because it has special stability features?  I know the hurd is
> > > said to be crash-proof.  And apple's new os x runs on a mach kernel,
> > > doesn't it?  They claim it is crash-proof.  Are they doing a similar
> > > thing with os x as the hurd?
> > 
> > Note that all other mach based OS are single server, while the Hurd is a
> > multi server
> > OS.
> What exactly is multi-server?  What multiple *things* are being served
> that on other os'es are being singly served?

Compare to Linux.

On Linux, the "kernel" is one big process.

On Hurd, much of the functionality that, in Linux, is in that one big,
monolithic program, gets farmed out to a set of processes known as

Hurd servers have included things like:
  - auth, crash, devio, devport, exec, ext2fs, fifo, ifsock, init, magic,
    nfs, null, pfinet, pfilocal, proc, symlink, term, ufs

A really cool part that falls out of this is that this means that you
could conceivably hack on parts of the OS *while it's running.*

If a particular server is a bit buggy, it's at least *plausible* to restart
it.  In contrast, if the Linux kernel-based NFS server code "blows up,"
the whole system immediately goes down.

> > No operating system is crash-proof, because of bugs. Also, the Hurd does
> > not handle out
> > of ressources (out of memory, out of disk space) conditions gracefully.
> > Apart from that,
> > if one non-essential Hurd server dies (crashes), the Hurd will survive
> > though. Maybe
> > this is what you mean.
> Pardon my vagueness :} .By crash-proof I suppose I mean if one program
> goes down, it won't take others with it.  But I've also read that many
> components of the system have been moved into user space where the
> ordinary user can interact with them, even fully customize or even
> <insert profanity here> up their own space without affecting other
> users.

A merit of being a multiserver is that this capability extends into
parts of what would be, on other systems, part of the OS kernel.  Thus,
if the NFS server crashes, this doesn't necessarily take the system down
(this happened to me with Linux when a NIC started going flakey; KNFS
blew out and the system halted hard...).

Another merit is that by having parts of the kernel more clearly
separated, it may be possible to get more benefit out of SMP.
"Of course 5  years from now that will be different,  but 5 years from
now  everyone  will  be  running  free  GNU on  their  200  MIPS,  64M
SPARCstation-5."  -- Andrew Tanenbaum, 1992.
cbbrowne@hex.net - <http://www.ntlug.org/~cbbrowne/lsf.html>

Reply to: