Understanding the Kernel
Posted August 22, 2008 at 12:41 pm in ProgrammingThe kernel is a program that constitutes the central core of a computer operating system. It has complete control over everything that occurs in the system.
The kernel is the first part of the operating system to load into memory during system startup, and it remains there for the entire duration of the computer session because its services are required continuously.
The kernel code is usually loaded into a protected area of memory due to its critical nature. This prevents it from being overwritten by other, less frequently used parts of the operating system or by application programs.
It provides basic services for all other parts of the operating system, typically including memory management, process management, file management and I/O (input/output) management.
The contents of a kernel vary considerably according to the operating system, but they typically include:
- A scheduler, which determines how the various processes share the kernel’s processing time (including in what order).
- A supervisor, which grants use of the computer to each process when it is scheduled.
- An interrupt handler, which handles all requests from the various hardware devices that compete for the kernel’s services.
- A memory manager, which allocates the system’s memory addresses among all users of the kernel’s services.
Reference: The Linux Information Project
Commentary