You are on page 1of 2

A monolithic kernel - Is a kernel architecture where the entire operating system is working

in the kernel space and alone as supervisor mode. In difference with other architectures,[1] the
monolithic kernel defines alone a high-level virtual interface over computer hardware, with a
set of primitives or system calls to implement all operating system services such as process
management, concurrency, and memory management itself and one or more device drivers as
modules.

System - Most modern monolithic operating systems such as OpenVMS, Linux, BSD,
and UNIX variants such as FreeBSD, NetBSD; SunOS, and AIX,

A Microkernel - Early operating system kernels were rather small, partly because
computer memory was limited. As the capability of computers grew, the number of devices the
kernel had to control also grew. Through the early history of Unix, kernels were generally
small, even though those kernels contained device drivers and file system managers. When
address spaces increased from 16 to 32 bits, kernel design was no longer cramped by the
hardware architecture, and kernels began to grow.

Berkeley UNIX (BSD) began the era of big kernels. In addition to operating a basic system
consisting of the CPU, disks and printers, BSD started adding additional file systems, a
complete TCP/IP networking system, and a number of "virtual" devices that allowed the
existing programs to work invisibly over the network. This growth continued for several
decades, resulting in kernels with millions of lines of source code. As a result of this growth,
kernels were more prone to bugs and became increasingly difficult to maintain.

The microkernel was designed to address the increasing growth of kernels and the difficulties
that came with them. In theory, the microkernel design allows for easier management of code
due to its division into user space services. This also allows for increased security and stability
resulting from the reduced amount of code running in kernel mode. For example, if a
networking service crashed due to buffer overflow, only the networking service's memory
would be corrupted, leaving the rest of the system still functional.

System – MIMIX and UNIX (BSD)

A hybrid kernel - is a kernel architecture based on combining aspects of microkernel and


monolithic kernel architectures used in computer operating systems. The category is
controversial due to the similarity to monolithic kernel; the term has been dismissed by some
as simple marketing. The traditional kernel categories are monolithic kernels and microkernels
(with nanokernels and exokernels seen as more extreme versions of microkernels).

The idea behind this quasi-category is to have a kernel structure similar to a microkernel, but
implemented in terms of a monolithic kernel. In contrast to a microkernel, all (or nearly all)
operating system services are in kernel space. While there is no performance overhead for
message passing and context switching between kernel and user mode, as in monolithic
kernels, there are no benefits of having services in user space, as in microkernels.

The best known example of a hybrid kernel is the NT kernel inside Windows NT,
Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server
2008 and Windows 7. NT-based Windows is classified as a hybrid kernel

You might also like