Skip to main content
K
k
Glossary Term

Kernel

From micro to monolithic, here’s what a kernel does, and why that bloated operating system might not suit your needs.

By IT Brew Staff

less than 3 min read

Back to Glossary

Definition:

The privileged code running at the core of an operating system (OS) that controls all hardware resources and their interactions with software. The kernel—which shares its name with the innermost part of a seed and/or nut—is in charge of controlling access to shared systems, such as physical memory, handling errors, and memory management. The kernel could be described as the nucleus of a computer’s operating system.

Don’t panic, colonel

There are three main types of kernels: monolithic kernels, microkernels, and hybrid kernels. Monolithic kernels are an OS architecture with systems that run in “kernel mode.” Monolithic kernels tend to be faster and experience fewer bugs. However, one of their biggest cons is that if one service or component fails, the whole system can crash (think: Microsoft’s blue screen of death, or any Linux operating system’s kernel panic). Operating systems with monolithic kernels include Linux, DOS, and Solaris.

Microkernels, major security

Microkernels are an operating system architecture where only basic functions, such as memory management, are done in the kernel. More code is required to write a microkernel. However, microkernels tend to have less system crashes and offer more security benefits compared to monolithic kernels. Examples of microkernel operating systems include Zircon and Horizon.

Best of both worlds

Hybrid kernels are an operating system architecture that is a blend of both microkernels and monolithic kernels. Hybrid kernels tend to perform better than microkernels, but still reap the security benefits of that OS architecture. Microsoft Windows NT and Apple’s macOS rely on a hybrid kernel.

Critical kernel code is usually loaded into a protected section of memory that is supposed to be inaccessible to any and all users. Major OS vulnerabilities often involve attackers finding ways to compromise kernel memory.