Microkernel architecture?

Matthew Dillon dillon at apollo.backplane.com
Wed Oct 1 23:28:35 PDT 2003

:I have a question: since so many of this new OS's features are commonly 
:found in microkernel-based systems, why isn't DragonFly being planned as 
:a microkernel design instead of a monolithic kernel with a few 
:microkernel tricks? Or is DragonFly microkernel-based?

    'microkernel' is a badly misused term.   While it is theoretically 
    possible to build a microkernel, actually making it do useful things
    requires a level of integration that is fairly difficult to achieve
    in a microkernel design. 

    What we can do is move the bottomost layers, primarily device drivers,
    the networking layer, and filesystems, towards a microkernel-like
    message-passing design.  The KLD mechanism is capable of dynamic loading
    this layer.  Even so there are still a large number of heavily
    integrated structures which are simply passed by reference, such as 
    'struct ucred'.  There are dozens such structures and it is the 
    existance of these structures that makes it unlikely that the
    microkernel aspects of the system could be extended much beyond what
    we have already contemplated for DragonFly.

    Nor would I particularly want to try.  I see no advantage at all in
    trying to convert the system wholely to a microkernel design, other then
    to slow it down and make the source code harder to understand :-)

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list