All Topics  
Monolithic kernel

 

 

 

 

 

Monolithic kernel


 
 



A monolithic kernel is a kernelKernel (computer science)

The kernel is the central part in most computer operating systems which manages the system's resources and the communication...
 architecture where the entire kernel is run in kernel space in supervisor mode. In common with other architectures, the kernel defines a high-level virtual interface over computer hardware, with a set of primitives or system callSystem call

In computing, a system call is the mechanism used by an application program to request service from the operating system, or...
s to implement operating system services such as processProcess (computing)

In computing, a process is a running instance of a program, including all variables and other state....
 management, concurrencyConcurrency (computer science)

In computer science, concurrency is a property of systems which consist of computations that execute overlapped in time, and...
, and memory managementMemory management

Memory management is the act of managing computer memory....
 in one or more modulesModule (programming)

In computer science, a module is a software entity that groups a set of subprograms and data structures....
.

Even if every module servicing these operations is separate from the whole, the code integration is very tight and difficult to do correctly, and, since all the modules run in the same address space, a bug in one module can bring down the whole system. However, when the implementation is complete and trustworthy, the tight internal integration of components allows the low-level features of the underlying system to be effectively utilized, making a good monolithic kernel highly efficient. In a monolithic kernel, all the systems such as the filesystem management run in an area called the kernel mode.

Loadable modules

Most modern monolithic kernels such as OpenVMSOpenVMS

OpenVMS is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers devel...
, Linux, BSD variants such as FreeBSDFreeBSD

colspan="2" | FreeBSD|-| colspan="2" style="text-align:center;" | br/>br />FreeBSD welcome screen...
 and NetBSDNetBSD

NetBSD is a freely redistributable, open source version of the Unix-like BSD computer operating system....
, and Solaris can dynamically load (and unload) executable modules at runtime. This modularity of the kernel is at the binary (image) level and is not at the kernel architecture level. Modular monolithic kernels are not to be confused with the architectural level of modularity inherent in microkernelMicrokernel

A microkernel is a minimal computer operating system kernel providing only basic operating system services , while other ser...
s or hybrid kernelHybrid kernel

Hybrid Kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures....
s. Practically, dynamically loading modules is simply a more flexible way of handling the kernel image at runtime — as opposed to rebooting with a different kernel image. The modules allow easy extension of the kernel's capabilities as required. Dynamically loadable modules incur a small overhead when compared to building the module into the kernel 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 kernel footprint for embedded devices with limited hardware resources. Namely, an unloaded module need not be stored in the scarce random access memoryRandom access memory

Random-access memory refers to data storage formats and equipment that allow the storing data to be accessed in any order &...
.

Monolithic kernel examples

  • Unix-likeUnix-like

    A "Unix-like" operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to...
     kernels
    • LinuxLinux (kernel) Summary

      name = Linux| logo = | caption = Tux the Penguin, Linux's logo,...
    • SyllableSyllable (operating system)

      Syllable is an open source hobby operating system for Intel x86 Pentium and compatible processors....
    • UnixUnix

      Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs e...
       kernels
      • BSDBerkeley Software Distribution

        Berkeley Software Distribution is the Unix derivative distributed by the University of California, Berkeley, starting in th...
        • FreeBSDFreeBSD

          colspan="2" | FreeBSD|-| colspan="2" style="text-align:center;" | br/>br />FreeBSD welcome screen...
        • NetBSDNetBSD

          NetBSD is a freely redistributable, open source version of the Unix-like BSD computer operating system....
        • OpenBSDOpenBSD

          ! Computer and operating system|-! Unix and Unix-like...
      • Solaris and OpenSolarisOpenSolaris

        OpenSolaris is an open source project created by Sun Microsystems to build a developer community around the Solaris Operatin...
      • AIX
  • DOSDOS

    DOS commonly refers to the family of closely related operating systems which dominated the IBM PC compatible market between ...
    • DR-DOSDR-DOS

      DR-DOS is a PC DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildal...
    • MS-DOSMS-DOS Summary

      MS-DOS is an operating system commercialized by Microsoft....
      • Microsoft Windows 9xWindows 9x

        Windows 9x is a term used to describe the DOS-based operating systems Windows 95 and Windows 98, similar versions of Microso...
         series
  • Mac OSMac OS Summary

    Mac OS, which stands for Macintosh Operating System, is a series of graphical user interface-based operati...
     kernel, up to Mac OS 8.6
  • OpenVMSOpenVMS

    OpenVMS is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers devel...
  • XTS-400XTS-400

    The XTS-400 is a multi-level secure computer system....


See also

  • ExokernelExokernel

    Exokernel is an operating system kernel developed by the MIT Parallel and Distributed Operating Systems group, and also a c...
  • Hybrid kernelHybrid kernel

    Hybrid Kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures....
  • Kernel (computer science)Kernel (computer science)

    The kernel is the central part in most computer operating systems which manages the system's resources and the communication...
  • MicrokernelMicrokernel

    A microkernel is a minimal computer operating system kernel providing only basic operating system services , while other ser...
  • NanokernelNanokernel

    In computer science, a nanokernel is a very minimalist operating system kernel....