All Topics  
Monolithic kernel

 

   Email Print
   Bookmark   Link






 

Monolithic kernel



 
 
A monolithic kernel is a kernel architecture where the entire operating system is run in kernel space as supervisor mode. In difference with other architectures (microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
, hybrid kernel
Hybrid kernel

A hybrid kernel is a Kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems....
s), the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system call
System call

In computing, a system call is the mechanism used by an application program to request service from the kernel based on the Monolithic_kernel or to system servers on operating systems based on the microkernel-structure....
s to implement all operating system services such as process
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
 management, concurrency
Concurrency (computer science)

In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other....
, and memory management
Memory management

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed....
 in one or more modules.
modern monolithic kernels such as OpenVMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
, Linux
Linux kernel

The Linux kernel is an operating system kernel used by a family of Unix-like operating systems. The term Linux distribution is used to refer to the various operating systems that run on top of the Linux Kernel....
, BSD variants such as FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
 and NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
, and Solaris can dynamically load (and unload) executable modules at runtime.






Discussion
Ask a question about 'Monolithic kernel'
Start a new discussion about 'Monolithic kernel'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A monolithic kernel is a kernel architecture where the entire operating system is run in kernel space as supervisor mode. In difference with other architectures (microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
, hybrid kernel
Hybrid kernel

A hybrid kernel is a Kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems....
s), the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system call
System call

In computing, a system call is the mechanism used by an application program to request service from the kernel based on the Monolithic_kernel or to system servers on operating systems based on the microkernel-structure....
s to implement all operating system services such as process
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
 management, concurrency
Concurrency (computer science)

In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other....
, and memory management
Memory management

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed....
 in one or more modules.

Loadable modules

Most modern monolithic kernels such as OpenVMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
, Linux
Linux kernel

The Linux kernel is an operating system kernel used by a family of Unix-like operating systems. The term Linux distribution is used to refer to the various operating systems that run on top of the Linux Kernel....
, BSD variants such as FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
 and NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
, 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 microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
s or hybrid kernel
Hybrid kernel

A hybrid kernel is a Kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems....
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 memory.

Monolithic kernel examples

  • Unix-like
    Unix-like

    A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
     kernels
    • Linux
    • Syllable
      Syllable (operating system)

      Syllable is a Free software and open-source software operating system for Pentium and compatible processors. Its purpose is to create an easy-to-use desktop operating system for the home and small office user....
    • Unix
      Unix

      Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
       kernels
      • BSD
        Berkeley Software Distribution

        Berkeley Software Distribution is the Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995....
        • FreeBSD
          FreeBSD

          FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
        • NetBSD
          NetBSD

          NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
        • OpenBSD
          OpenBSD

          OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
      • Solaris and OpenSolaris
        OpenSolaris

        File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
      • AIX
  • DOS
    DOS

    DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
    • DR-DOS
      DR-DOS

      DR-DOS is a DOS-type operating system for IBM PC-PC compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from CP/M-86....
    • MS-DOS
      MS-DOS

      MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
      • Microsoft Windows 9x
        Windows 9x

        Windows 9x is the family of Microsoft Windows operating systems that comprises the hybrid 16/32-bit Windows versions: Windows 95, Windows 98, which were produced in the 1990s, and often also Windows Me, which was produced in 2000....
         series (95
        Windows 95

        Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Microsoft Windows products....
        , 98
        Windows 98

        Windows 98 is a graphical operating system released on 25 June 1998 by Microsoft and the successor to Windows 95. Like its predecessor, it is a hybrid 16-bit application/32-bit application monolithic product based on MS-DOS....
        , Windows 98SE, Me
        Windows Me

        Windows Millennium Edition, or Windows Me , is a hybrid 16-bit/32-bit graphical operating system released on 14 September 2000 by Microsoft....
        )
  • Mac OS
    Mac OS

    Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
     kernel, up to Mac OS 8.6
  • OpenVMS
    OpenVMS

    OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
  • XTS-400
    XTS-400

    The XTS-400 is a Multilevel security secure computer operating system. It is multi-user and Computer multitasking. It works in networked environments and supports Gigabit Ethernet and both IPv4 and IPv6....


See also

  • Exokernel
    Exokernel

    Exokernel is an operating system kernel developed by the MIT Parallel and Distributed Operating Systems group, and also a class of similar operating systems....
  • Hybrid kernel
    Hybrid kernel

    A hybrid kernel is a Kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems....
  • Kernel (computer science)
  • Microkernel
    Microkernel

    In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
  • Nanokernel