Structure of monolithic kernel, microkernel and hybrid kernel-based operating systems

A monolithic kernel is an operating system architecture with the entire operating system running in kernel space. The monolithic model differs from other architectures such as the microkernel[1][2] in that it alone defines a high-level virtual interface over computer hardware. A set of primitives or system calls implement all operating system services such as process management, concurrency, and memory management.

Device drivers can be added to the kernel as loadable kernel modules.

Examples

edit

Loadable modules

edit

Modular operating systems such as OS-9 and most modern monolithic-kernel operating systems such as OpenVMS, Linux, FreeBSD, NetBSD, Solaris, and AIX can dynamically load (and unload) executable kernel modules at runtime.

This modularity of the operating system is at the binary (image) level and not at the architecture level. Modular monolithic operating systems are not to be confused with the architectural level of modularity inherent in server-client operating systems (and its derivatives sometimes marketed as hybrid kernel) which use microkernels and servers (not to be mistaken for modules or daemons).

Practically speaking, dynamically loading modules is simply a more flexible way of handling the operating system image at runtimeโ€”as opposed to rebooting with a different operating system image. The modules allow easy extension of the operating systems' capabilities as required.[3] Dynamically loadable modules incur a small overhead when compared to building the module into the operating system image.

However, in some cases, loading modules dynamically (as-needed) helps to keep the amount of code running in kernel space to a minimum; for example, to minimize operating system footprint for embedded devices or those with limited hardware resources. Namely, an unloaded module need not be stored in scarce random access memory.

See also

edit

References

edit
  1. ^ "Modular system programming in Minix3" (PDF).
  2. ^ "Server-Client, or layered structure" (PDF). The Design of PARAS Microkernel. Archived from the original (PDF) on 17 July 2010. Retrieved 15 July 2009.
  3. ^ "Kernel Definition".

๐Ÿ“š Artikel Terkait di Wikipedia

Kernel (operating system)

microkernel design. Some kernels, such as the Linux kernel, are both monolithic and modular, since they can insert and remove loadable kernel modules at runtime

Hybrid kernel

hybrid kernel is an operating system kernel whose architecture attempts to combine aspects and benefits of microkernel and monolithic kernel architectures

Microkernel

run in user space. Microkernels often have less source code than monolithic kernels. The MINIXย 3 microkernel, for example, has only approximately 12,000

HongMeng Kernel

of a monolithic kernel. As of Novemberย 25, 2025[update], the current version of the HongMeng kernel used in HarmonyOS 6 is 1.11.0. HongMeng Kernel objects

NetBSD

NetBSD drivers to other kernel architectures, ranging from exokernels to monolithic kernels. Other possible applications of rump kernels include deploying a

XNU

recognized as a UNIX operating system. XNU is a hybrid kernel, containing features of both monolithic kernels and microkernels, attempting to make the best use

Linux kernel

The kernel has a modular design such that modules can be integrated as software components โ€“ including dynamically loaded. The kernel is monolithic in

GNU Hurd

operating system, due to perceived advantages over the traditional Unix monolithic kernel architecture, a view that had been advocated by some developers in