Neither FreeBSD nor Linux are microkernels. Both are traditional Unix-like kernels that allow loadable kernel modules (a Sun invention).
so how is that not a microkernel?
although they can both be made monolithic -- compile all the stuff you want directly in a giant kernel -- traditionally the linux kernel has been treated as a microkernel and the freebsd kernel as a monolithic block. Can they be one or the other? yes, it depends on how it's configured and how the admin running the box wants it to be. --Dave 14:00, 24 Nov 2005 (EST)
A true microkernel conceptually runs drivers as separate processes. In reality they may share the same address space for performance reasons, but the programming style follows a design of everything being split out. The idea was to have simple components, ignoring the issue of complicated interactions. (glue isn't free)
Many microkernel systems evolve into monolithic systems through lack of discipline and caving to performance demands. The first microkernel feature to be lost is the use of separate address spaces. After a while, the developers stop pretending that they have a microkernel. This happened to Windows NT.
Sometimes a so-called "microkernel OS" is kind of fake. For example, Mac OS X contains code from the Mach microkernel. Instead of using the microkernel as a microkernel though, a BSD kernel was grafted on.
For a true microkernel design, look at GNU HURD.
Microkernels do have a few minor advantages, but generally they are bad. The academic research that pushed microkernels was seriously dishonest, benchmarking very bad monolithic kernels against optimized and very limited microkernels. Microkernel advantages tend to involve extreme NSA-level security and distributed systems. Performance is generally bad though, and maintainability turned out to be worse than with monolithic kernels.
18.104.22.168 01:40, 25 Nov 2005 (EST)
regarding the Slack stuff
if you want to put much specific info about a particular linux distro, I'd rather it got its own "stuff you should know as a Slackware veteran" type article, rather than muddying up an article I envision as a much more general-purpose "things any linux expatriate ought to know" page. Somebody coming from Red Hat, or SuSE, or Yellow Dog, or Debian, or... the list goes on and on... neither needs nor probably cares that Slackware DOESN'T do things differently from BSD. The guy from Slackware doesn't really need to know it either - he already KNOWS how BSD-style init scripts work, it's what he's used to. But the guy from Fedora is likely just to get bogged down. --Jimbo 00:19, 25 Jan 2006 (EST)