Monolithic versus Microkernel

From Citizendium
Jump to navigation Jump to search
This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

In computers, the core of an operating system is called a kernel. There are two main types of kernels: monolithic, in which the kernel is one, massive program, and microkernel, which takes the approach of running a very small kernel that interacts with lots of other small programs. In the case of a microkernel, the kernel acts as more of a central unit that keeps the other programs interacting with each other correctly.

Other types of kernels include hybrid monolithic kernels, which are a compromise between monolithic and microkernels, nanokernels, which have little to no drivers and support inside the kernel binary, and exokernels, which attempt to avoid forcing abstraction on programmers and their creations yet keeping security as much as possible.

Many debates have arisen throughout the years over which is the superior architecture, most notably that between Linus Torvalds, the creator of Linux, and Andrew Tanenbaum, the creator of Minix.