Skip to content

Latest commit

 

History

History
48 lines (44 loc) · 2.38 KB

kernels.md

File metadata and controls

48 lines (44 loc) · 2.38 KB

Kernels

Kernel Types

  • Monolithic
    • Entire OS runs in kernel space (privileged level)
    • Easier to debug issues than a microkernel
    • Are often faster than a microkernel
  • Hybrid
    • Attempts to combine the best features of monolithic and microkernels
  • Microkernel
    • Only the tiny microkernel operates at a privileged level
    • Everything else (drivers, protocol stacks, file systems) run in user space
    • Are often smaller than monolithic kernels
    • May be more inherently secure than monolithic
    • Loadable modules allow a monolithic kernel to load and unload execuatable modules during runtime, avoiding the need to reboot the system.

Noteworthy kernels listed in chronologic order

  • BSD Kernel - 1978 Monolithic
  • Procto - 1982 Microkernel
    • QNX RTOS
  • Mach - 1985 Microkernel
    • Carnegie Mellon University
    • Used today by Apple, and no one else
  • MINIX - 1987 Microkernel
    • For educational use
  • GNU Hurd - 1990 Microkernel
    • Has never been fully operational
  • Linux  - 1991 Monolithic
    • Used in Linux, ChromeOS, and Android operating systems
  • L4 Microkernel - 1993 Microkernel
    • For the L4 family of operating systems
  • XNU - 1996 Microkernel
    • Apple MacOS (originally from NeXT)
    • Derived from CMU Mach
    • Is a mostly-monolithic executive built on top of the Mach microkernel
  • GNU Mach - 1997 Microkernel
    • Continuation of CMU Mach
    • 2016 first year it was stable
  • DragonflyBSD Kernel - 2004 Hybrid
    • Less complicated than the GNU Mach kernel
  • Illumos - 2010 Monolithic
    • Solaris Kernel modernized to be completely FOSS
  • Zircon - 2021 Microkernel
    • Google project for Fuchsia OS
  • Maestro - 2023 Monolithic
    • Unix-like (Linux-compatible) kernel written in Rust