Messages in this thread |  | | Date | Wed, 24 Jul 1996 08:59:21 -0500 | From | Matthew X Economou <> | Subject | Linux and Microkernels (was Re: your mail) |
| |
>> I saw in a post on one of the newsgroups that the linux kernel >> can not become a microkernel ever? How come? What are the >> advantages/disadvantages?
The Linux kernel is monolithic by design. Under Mach, Linux runs as what is called a single server, that is, the separate subsystems--- file, network, etc.---are all together in a single Mach process. To make Linux a "micro-kernel OS" would require the developers to re-engineer Linux, splitting up the various sections of Linux into separate servers (Mach processes).
The HURD, GNU's micro-kernel OS, is designed in this manner...separate OS services running as independent processes.
And a note on terminology: In either of these systems, neither Linux or HURD are micro-kernels themselves. The real micro-kernel in either case is Mach. What the person on the newsgroup might mean is that Linux cannot become a micro-kernel because the mklinux developers are running Linux on top of Mach, instead of developing a new micro-kernel from scratch (or from Linux).
>>>>> "AC" == Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
AC> A monlithic OS is faster than a microkernel based system.
Statements about "all micro-kernels" based on experience with Mach will guarantee incorrect results. The speed argument is not true any more. Highly optimized micro-kernels like QNX and Chorus are very fast...fast enough to compete with commercial monolithic kernels. I don't know what the interrupt latency of Linux on a 486DX2-66 is, but under QNX it is 4 microseconds. In fact, QNX's performance is so well tuned and fast that it is used heavily in industrial real-time processing applications.
In addition to being slower, Mach is quite large. It is my understanding that Mach is in the hundreds of kilobytes (larger than 300KB, I think) in size. The QNX micro-kernel is under 10KB! (QNX 4.0 was less than 8KB and fit entirely in the processor cache of the 486.) The Chorus micro-kernel is somewhere around 100KB, if I remember the specs correctly, which I probably don't.
Followups to alt.monolithic-kernels.die.die.die. ;)
-- Matthew Xenophon Economou - The Nemesis Project - (Finger/WWW for PGP key.) Documentation Manager for the Department of Computer Science at Rose-Hulman Internet: econommx@rose-hulman.edu - http://www.rose-hulman.edu/~econommx/ Proud Supporter of the Unabomber Write-In '96 Campaign
|  |