Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Apr 2000 15:44:52 +1000
From:      "Andrew Reilly" <areilly@nsw.bigpond.net.au>
To:        Gustavo V G C Rios <kernel@lince.tdnet.com.br>
Cc:        Nick Sayer <nsayer@quack.kfu.com>, Alfred Perlstein <bright@wintelcom.net>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Is traditional unixes kernel really stable ?
Message-ID:  <20000408154451.A45267@gurney.reilly.home>
In-Reply-To: <38EDDBC4.51F2414D@tdnet.com.br>
References:  <38ED128C.22C3AA28@tdnet.com.br> <20000406192206.N22104@fw.wintelcom.net> <38ED233E.74716D02@tdnet.com.br> <20000406230234.B4381@fw.wintelcom.net> <38EDD209.421EF9B0@tdnet.com.br> <38EE0536.F2305A40@quack.kfu.com> <38EDDBC4.51F2414D@tdnet.com.br>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 07, 2000 at 12:59:48PM +0000, Gustavo V G C Rios wrote:

> Yeah! I had started to study OS (UNIX Internals: the new frontiers)
> internals. That book tell the same about microkernel, but when i
> downloaded QNX demo disk i got confused.

Another oldie-but-goodie OS book is Andrew Tannenbaum's "Modern
Operating Systems".

> If microkernel has such a drawnbacks, why QNX is so fast and reliable?

Well, it's a bit faster, perhaps, because QNX doesn't do VM.  So it
doesn't swap or page, and probably gets more help from the processor for
memory space management.  All processes reside in memory all the time.
The QNX demo floppy, obviously, runs entirely out of main memory, and
doesn't even contain disk subsystem drivers.

It's reliable (to the extent that it is) because it's another
20-year-old operating system that's been worked on continuously by
clue-posessing individuals, in real-world situations.

> PS: I am just a beginner, so, don't take me wrong. The fact is that i
> am really confused about what books say about microkernel and what in
> that single demo floppy. I would be really glad to have some here to
> kindly clarify it to me.

Another place to look at microkernel stuff is the GNU Hurd and the L4
systems.

Now: why isn't everyone doing it that way?

There's certainly a historical factor involved, but basically, the
modern Unix kernel pretty much does what you want an operating system to
do: it provides a clean model of the hardware, and support for processes
that can exist in separate memory spaces and communicate with each
other.  About the only serious difference is that in Unix, file systems
tend to live in the kernel and in microkernels they live outside.  There
are some pretty compelling performance reasons to keep all of that in
the "OS" bucket.  There has been enough development effort and testing
to cope with the reliability issues.

Once you get outside of filesystems, microkernel and monolithic systems
are all the same: the other services are provided by daemons/processes
of various sorts.  When you look at them from far enough away,
all kernels are small.

-- Andrew


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000408154451.A45267>