Skip to content

The Kernel

Linux

Fundamental ideas behind Unix/Linux:

  • a programmable shell
  • users and groups
  • privileged and unprivileged instructions
  • environments
  • files and directory hierarchy
  • device-independing input and output
  • processes
  • unix kernel
  • POSIX.1-2024

The Kernel

The kernel is the only program that is loaded into memory on startup and remains in memory, controlling all computer resources, until the computer is powered off.

The kernel can be also be thought of as a collection of separate functions, bundled together into a large package, and its API as the collection of signatures or prototypes of these functions.

The kernel manages access to all of the hardware attached to the computer.

Unix has two levels of privilege- user privilege and kernel privilege; some instructions can only be executed with kernel privilege.

Phyiscal memory is divided into two regions- user space- where user programs are loaded and system space, which holds the operation system itself.

The kernel has control of the processor- it decides at any given time what runs next.

The kernel manages:

  • process scheduling and lifetimes (kernel has to start and terminate processes)
  • input/output
  • physical and virtual memory
  • devices
  • file system
  • interprocess communication
  • multi-threading
  • protection and security

2025-12