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>