[Ilugc] Re: Doubt on Kernel Arch. ???

  • From: siva@xxxxxxxxxxx (Sivasankar Chander)
  • Date: Fri Sep 10 12:52:03 2004


GNU/HURD, Chorus, Amoeba, Mach, L4 and Minix are good examples of 
microkernel OS. But there are commercial OSes based on microkernels too... 
like AIX, QNX, (now defunct) BeOS.

  AIX is not a microkernel, it's monolithic, but has loadable subsystems
(similar to modules in Linux). In fact, this predates modules in Linux
by 3 or 4 years. AIX 3 (1990) has a very polished implementation of
subsystems.

  AFAIK, Minix 1.0 was monolithic, but 2.0 was a microkernel. The famous
Tanenbaum-Linus debate on Usenet occurred sometime between this transition.
(I could be mistaken on the version, but the first version of Minix that
I tried could run on a PC/XT (8088 without an MMU), so I doubt that it
was a microkernel).

Windows NT infact, claims to be "partly" based on the microkernel 
architecture (Windows NT 3.51, AFAIK was a microkernel). Mac OSX is also 
"partly" based on microkernel architecture (most subsystems run in the user 
mode, while the I/O subsystem runs in the kernel mode, for performance 
sake).

  Both Windows NT and Mac OSX are derived from CMU Mach concepts, but
diverge sharply in most other respects. AFAIK, Mac OS X still has
an exposed Mach API for the microkernel, in addition to userland Apple-
specific APIs (Darwin, etc.). Windows NT never exposed the micro-
kernel API to the programmer, irrespective of whether he was a driver
developer or an application developer. The only API exposed was the
Microsoft Foundation Classes and related crapitude. But it allowed
app-level binary compatibility between Windows 95 and NT, which was a
big commercial advantage, and allowed NT to become the dominant server
OS.

  AFAIK, binary compatibility is also maintained in the upward direction
from Mac OS 9 (monolithic) and Mac OS X (Microkernel), subject to some
minor limitations.

-Siva 

Other related posts: