Monolithic kernel

Source: Wikipedia, the free encyclopedia.

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

A monolithic kernel is an operating system architecture where the entire operating system is working in

modules
.

Loadable modules

Modular operating systems such as

MULTICS
can dynamically load (and unload) executable 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

random access memory
.

Monolithic architecture examples

See also

References

  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".