A monolithic kernel
- Is a kernel architecture where the entire operating system is workingin the kernel space and alone as supervisor mode. In difference with other architectures, themonolithic kernel defines alone a high-level virtual interface over computer hardware, with aset of primitives or system calls to implement all operating system services such as processmanagement, concurrency, and memory management itself and one or more device drivers asmodules.
System - Most modern monolithic operating systems such as OpenVMS, Linux, BSD,and UNIX variants such as FreeBSD, NetBSD; SunOS, and AIX,
A Microkernel -
operating system kernels were rather small, partly becausecomputer memory was limited. As the capability of computers grew, the number of devices thekernel had to control also grew. Through the early history of Unix, kernels were generallysmall, even though those kernels contained device drivers and file system managers. Whenaddress spaces increased from 16 to 32 bits, kernel design was no longer cramped by thehardware architecture, and kernels began to grow.Berkeley UNIX (BSD) began the era of big kernels. In addition to operating a basic systemconsisting of the CPU, disks and printers, BSD started adding additional file systems, acomplete TCP/IP networking system, and a number of "virtual" devices that allowed theexisting programs to work invisibly over the network. This growth continued for severaldecades, 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 difficultiesthat came with them. In theory, the microkernel design allows for easier management of codedue to its division into user space services. This also allows for increased security and stabilityresulting from the reduced amount of code running in kernel mode. For example, if anetworking service crashed due to buffer overflow, only the networking service's memorywould 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 andmonolithic kernel architectures used in computer operating systems. The category iscontroversial due to the similarity to monolithic kernel; the term has been dismissed by some