uses a microkernel, which is a kernel that takes up minimal system
resources. It is a very basic kernel, which does not have a
file system and other components normally found in monolithic kernels.
Microkernels do not
provide the core operating system
functionality, so this most be loaded by other services also
present. Some of these services do not have to be
loaded, and new ones can be written also.
This provides the system with a lot of flexibility and performance.
Kinds of Kernels
There are many other types of kernels. The most common
concepts are outlined here.
Monolithic kernels are the most common and traditional kernel
styles. Many operating systems, such as Microsoft Windows,
and FreeBSD are the most well known of this group. Monolithic
kernels put all their functionality in kernelspace. The code
is tightly compacted, and if one component fails, so does the rest of
Exokernels are the antithesis of monolithic kernels. They run
all system programs in user space, therefore not requiring
kernelspace. Unfortunately exokernels are extremely difficult
to make and are for the most part impractical. Very few
exokernel operating systems exist.
Advantage of a Microkernel
While other kernels will suffice, microkernels represent the cutting
edge in system software. The microkernel is a very robust,
secure, adaptable, smaller, and higher-performing system.
relatively few open-source microkernels have been successful, some of
the most popular and functional commercial operating systems use this
approach. The most commonly known of these is Apple's Mac OS
There are many other microkernels that have been made. Some
are listed here.
of the most well known microkernels, the GNU Hurd project unfortunately
never was fully implemented. However, it is still a
full-scale project that can be worked with today.
Mach is another commonly known microkernel project, and some of
Quantix's source code is based on it. Mach influenced the
OS, on which Mac OS X is based. There are many other systems
has been developed for, including the Intel x86.