It was thus said that the Great Don Y once stated:
Chuck Guzis wrote:
On 8/4/2006 at 9:56 PM Scott Quinn wrote:
Microkernels are neat in theory, but a
well-trimmed monolithic kernel
seems to do pretty well with not too much space.
Let me try that again. NT 3.51 and earlier had the video drivers outside
of kernel mode. When 4.0 brought them in as kernel mode, things got quite
a bit faster.
Of course! Each time you have to cross a protection domain
you take a performance hit. There's no free lunch.
Ten years ago I remember one of the owners of Metrolink (who implemented
and sold commecial X servers) said that the *fastest* X server they sold ran
under QNX, a microkernel.
And it makes things so much easier to "load
balance" in a
multiprocessor design since you just move the thread to
a different processor and let the magic do its thing
(at a nontrivial cost, unfortunately).
I also worked at a software company porting Unix utilities to QNX and I
really like QNX and what can be done with it. I could use the modem on my
boss' computer to dial out without using *any* special software, just
specify the device on his computer (not only was the file system network
transparent, but you could use devices across the network). You could even
run a program on one computer, pipe the output to another program on another
computer and send the output to a third computer, all from the command line,
and all possible because QNX was built on a microkernel and had all this
functionality built in.
-spc (And the kernel on a Pentium based machine was only 8K
in size ... yes, 8192 bytes in size ... )