Subject: Re: microkernels
To: None <tech-kern@netbsd.org>
From: Matthew Mondor <mmondor@gobot.ca>
List: tech-kern
Date: 07/02/2003 19:49:01
On Wed, Jul 02, 2003 at 03:17:22PM -0400, Gary Thorpe wrote:

> Yes, but some architectures are better than others, despite all having
> benefits and weaknesses (of course everyone has differing opinions on
> which ones are better). Would you like to replace your modern
> multitasking OS with CP/M or DOS 3.3 - after all everything has
> strengths and weaknesses? It depends on what you want to do with the
> OS. So what are microkernels well suited for as compared to monolithic
> systems? In what cases would you opt for one over the other?

I personally found microkernels very well suited in situations where
the same system had to be adapted to multiple hardware configurations
in a fast manner... The other reason I like them is for development
of kernel components where it becomes as easy as to work with userspace
applications to debug/monitor and test, without always having to reboot
a system.

Another interesting aspect is that a generic kernel which supports
almost all hardware available for an architecture can initially still be
small and only load in the necessary components for the current hardware...

There of course also are programming style issues, microkernel components
programmers like to implement everything in the form of main event processing
loops or packet servers. Most drivers are like userspace daemons using
established APIs, and are actually independant from the microkernel itself,
which only provides the very basic APIs to link glue the whole thing
(scheduling, intertask I/O, locking primitives, memory management and
relocatable binary loader with runtime dynamic linker).

Matt