lkml.org 
[lkml]   [1996]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectLinux 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


    \
     
     \ /
      Last update: 2005-03-22 13:37    [W:0.021 / U:60.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site