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.
OTOH, drivers in (the equivalent of) "userland" don't crash the
*system* when they are poorly written!
I really like the microkernel approach for embedded systems.
It just makes things so much more robust (I'll gladly trade
some percentage of the CPU for that overhead and live without
"crumpled paper flying to trash cans" :> ).
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).