related topics
{system, computer, user}
{math, number, function}
{law, state, case}
{company, market, business}
{acid, form, water}
{style, bgcolor, rowspan}

In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system. These mechanisms include low-level address space management, thread management, and inter-process communication(I.P.C). As an operating system design approach, microkernels permit typical operating system services, such as device drivers, protocol stacks, file systems and user interface code, to run in user space. If the hardware provides multiple rings or CPU modes, the microkernel is the only software executing at the most privileged level (generally referred to as supervisor or kernel mode).

Microkernels are closely related to exokernels.[1] They also have much in common with hypervisors,[2] but the latter make no claim to minimality and are specialized to supporting virtual machines; indeed, the L4 microkernel frequently finds use in a hypervisor capacity.

The historical term nanokernel has been used to distinguish modern, high-performance microkernels from earlier implementations which still contained many system services. However, nanokernels have all but replaced their microkernel progenitors, and the term has fallen into disuse.



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.

Full article ▸

related documents
Computer file
Digital Imaging and Communications in Medicine
IBM System i
Xerox Star
DEC Alpha
Bulletin board system
Hypertext Transfer Protocol
Device driver
Graphical Environment Manager
Intel 80486
Video compression
Vector processor
Magnetic core memory
Frequency-hopping spread spectrum
Insulated-gate bipolar transistor
Software performance testing
Lossless data compression
Public land mobile network
Computer-aided design
Advanced Mobile Phone System
High-Level Data Link Control
Dual-tone multi-frequency