Kernel

A kernel is the foundational layer of an operating system (OS). It functions at a basic level, communicating with hardware and managing resources, such as RAM and the CPU.

Since a kernel handles many fundamental processes, it must be loaded at the beginning of the boot sequence when a computer starts up. The kernel performs a system check and recognizes components, such as the processor, GPU, and memory. It also checks for any connected peripherals. As the OS loads and the graphical user interface appears, the kernel keeps running. Even after the OS has fully loaded, the kernel continues to run in the background, managing system resources.

Types of Kernels

Several types of kernels exist, but two popular ones include monolithic kernels and microkernels. A monolithic kernel is a single codebase, or block of source code, that provides all the necessary services offered by the operating system. It is a simplistic design and creates a well-defined communication layer between the hardware and software.

Microkernels have the same function as monolithic kernels, but they are designed to be as small as possible. Instead of managing all the resources from a single codebase, the kernel handles only the most basic functions. It uses modules or "servers" to manage everything else. For example, device drivers are typically included in a monolithic kernel, but they would be split into separate modules in a microkernel. This design is more complex, but it can provide a more efficient use of system resources and helps protect against system crashes.

Kernel Panics

Since the kernel handles the most basic functions of a computer, if it crashes it can take down the entire computer. This undesirable event is called a "kernel panic" on macOS and Unix systems. It is similar to the blue screen of death in Windows. The only way to recover from a kernel panic is to restart your computer.

NOTE: Kernel panics are often caused by hardware communication issues. Therefore, if your computer is producing repeated kernel panics, try unplugging unnecessary devices to see if that fixes the problem.

Updated January 13, 2017 by Per C.

quizTest Your Knowledge

What type of software turns source code into an executable program?

A
Compiler
0%
B
Packager
0%
C
Analyzer
0%
D
Driver
0%
Correct! Incorrect!     View the Compiler definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Kernel on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.