lkml.org 
[lkml]   [1999]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux is a MicroKernal? (was:is linux obsolete)
> > So what is a microkernel, really?  Does putting the GUI into the kernel
> >
>
> Excuse my ignorance, as I'm only 16 and I haven't had the oppourtunity to
> take any CS related classes on OS design or anything -- but what is a
> monolithic kernel and microkernel, and what is the difference between the
> two, from a technical standpoint?

Traditional UNIX kernels after the work of Ritchie and Thompson ("The
UNIX Time-Sharing System", 1974) are C programs that run in a separate
virtual memory space (when available) from the user programs. The
authors of the kernel agreed on conventions and call interfaces to
isolate features within the kernel. As most C programmers know,
there's always one smart-guy who bypasses these conventions for either
a) performance, or b) expediency.

The microkernel concept is to create semipermeable interface
boundaries through which clients may communicate only through the
agreed upon protocol. Many microkernels use message passing, though I
don't believe that this is a requirement.

Layering and modularity of this variety date back to a paper published
by Per Brinch Hansen in 1970, "The Nucleus of a Multiprogramming
System". His paper describes a core of services for passing messages
as the foundation for a multiprogramming system. He envisioned each
user implementing an operating system on top of the nucleus.

The Linux kernel follows the UNIX route because it has been found to
produce a faster, more responsive operating system than the message
passing design. Layering tends to preclude optimizations that
non-layered system may implement. For example, MS moved their
graphics drivers into ring-0 (well, not exactly) of the kernel to
improve performance.

Someone posted that VSTa is an open source microkernel. Read it and
read Linux.

-O


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.048 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site