Re: Er, look...
As for a micro kernel, that needs other things around it to work. Not much different from today's modular kernel where the modules are only loaded when they are needed, perhaps because a new piece of hardware has been plugged in.
Well this is patently not true. A monolithic modular kernel with loadable modules would still load more drivers in to kernel space than a micro or hybrid kernel doing only the most necessary operations in kernel space and offloading to user space less critical operations.
As a concrete example, look at the USB device drivers in v4l-dvb. Under linux, the entire driver runs in the kernel space. Any driver bug, and you have an oops. FreeBSD re-uses the same linux drivers, using a user space daemon talking to a special kernel component, cuse4bsd, which allows user space daemons to communicate with character devices. The only kernel component is cuse4bsd, which is simple, small and easily tested.
The other code, less well tested and more buggy (usually due to cheap hardware and reverse engineered drivers) all runs in user space - any crashes there, and you simply need to restart the user space daemon.
Obviously, this has a cost - it's much more efficient just to run everything in the kernel - but that doesn't change the fact that a micro/hybrid kernel can be vastly more resilient than a monolithic design.