Return to BSD News archive
Newsgroups: comp.unix.bsd.freebsd.misc Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!swidir.switch.ch!newsfeed.ACO.net!Austria.EU.net!EU.net!gatech!howland.reston.ans.net!torn!nott!uotcsi2!revcan!quantum!danh From: danh@qnx.com (Dan Hildebrand) Subject: Re: The Future of FreeBSD... Message-ID: <95kb2y1z@qnx.com> Date: Wed, 26 Jul 95 20:01:43 GMT Organization: QNX Software Systems References: <3uktse$d9c@hal.nt.tuwien.ac.at> <ck3xcVu00YUxABg5gY@andrew.cmu.edu> <3us0a8$l9m@er6.rutgers.edu> <3v0rk7$ac4@blob.best.net> Lines: 51 In article <3v0rk7$ac4@blob.best.net>, Matt Dillon <dillon@best.com> wrote: > > From a theoretical perspective, nobody has really written a real > microkernel yet. I think many would argue that QNX qualifies as a true microkernel. Even the people who first coined the term "microkernel" agree that QNX is a microkernel OS (Ira Goldstein and Paul Dale). :-) > So far, the microkernels (including Mach) appear to > be at least as complex as their monolithic brothers and require > about as much work to port across platforms. An examination of QNX will show an architecture MUCH simpler than that of many operating system. One reason for this is that the processes around the microkernel that provide OS services exhibit a POSIX/UNIX personality directly, rather than attempting to be "personality neutral". As a result, a service-using process does IPC directly with a service-providing process, not through some additional levels of abstraction. The resulting architecture is very "flat", and not layered heavily at all. > Just adding > a few more levels of subroutine call does not a microkernel make, > IMHO. Agreed. > On the otherhand, I keep hearing people screaming about how inefficient > microkernels are. There is nothing in the inherent design that requires > a microkernel to be any less efficient then a monolithic design, it is > only the *current implementations* you see in the field which are > inefficient, which I attribute simply to bad design irregardless of > whether it is a microkernel or not. The problem with attempting to make a comparison between a monolothic kernel and a microkernel OS, is that you can't compare the architectures alone, you invariably end up comparing the quality of implementation as well. For a comparison to be meaningful, you need to locate "best of breed" examples of each approach and then make a comparison. > I think the point is pretty much moot, myself. I see both monolithic > and microkernel designs heading for the same destination. I'm not so sure. Microkernels do distributed applications much nicer than monolithic kernels, given the orthogonal means by which both local and remote services accessed. -- Dan Hildebrand (danh@qnx.com) QNX Software Systems, Ltd. http://www.qnx.com/~danh 175 Terence Matthews phone: (613) 591-0931 (voice) Kanata, Ontario, Canada (613) 591-3579 (fax) K2M 1W8