Hybrid Kernel

From OSDev Wiki
Jump to: navigation, search
Kernel Designs
Models
Other Concepts

Design

A hybrid kernel is, as its name indicates, a hybrid between a Monolithic kernel and a Microkernel. Unlike a microkernel where everything takes place in user level servers and drivers, the designers of a hybrid kernel may decide to keep several components inside kernel and some outside. There are many motivations for doing so, such as performance, simplicity, and vendor lock-in (you cannot change components with custom components). Most hybrid kernels start as monolithic kernels and begin moving components into user land, primarily as security to support 3rd-party components and drivers which may be malicious or buggy.

An example of a hybrid kernel design may keep the VFS and bus controllers inside the kernel, but have the file system drivers and storage drivers as user mode programs. The advantage of this system that is you keep the performance and design principles of a monolithic kernel, but you allow untrusted users to load untrusted code for accessing their own storage devices.

Examples

  • Windows NT and above
  • Mac OS X (XNU)
  • BeOS
  • Haiku
  • ReactOS
  • Syllable
  • DragonFly BSD
  • Plan 9
Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox