EMZETT.
Login

Kernel (operating system core)

In short: The kernel is the core of the operating system. It runs with the highest privileges, manages processor, memory and devices, and is the only bridge between programs and hardware.

In more detail: Programs may not touch the hardware directly. They ask the kernel via system calls for services such as “read file”, “reserve memory” or “send network packet”. The kernel checks permissions and performs the action.

In Depth

Tasks of the kernel:

  • Process management: The scheduler distributes processing time among processes and threads.
  • Memory management: Each process gets virtual memory, separated from the others (protection).
  • Device drivers: Talk to disk, network card, graphics card, USB.
  • File systems: Folders, files and permissions.
  • Networking: TCP/IP stack.
  • Security: Users, permissions, isolation.
Applications (browser, IDE, JVM)       ← user mode (restricted)
────────── system calls ─────────────
Kernel                                  ← kernel mode (full privileges)
────────── drivers ──────────────────
Hardware (CPU, RAM, disk, network)
DesignIdeaExamples
MonolithicEverything in the kernel, fastLinux (with loadable modules), classic Unix
MicrokernelOnly the bare minimum in the kernel, rest as separate services, more robustQNX, Minix, seL4
HybridMixed formWindows NT, macOS (XNU)
  • Kernel ≠ operating system: Linux is strictly speaking only the kernel. With GNU tools, package management and desktop it becomes a distribution (Ubuntu, Debian).
  • Kernel ≠ shell: The shell (Bash, PowerShell) is a user-mode program that uses the kernel.
  • Crashes: A bug in the kernel takes down the whole system (kernel panic on Linux, blue screen on Windows).
  • Showing the version: uname -r (Linux/macOS).
  • Important for Java: The JVM uses system calls to get threads, files and network. A sandbox or container also relies on kernel mechanisms (namespaces, cgroups).
  • Do not confuse: The CPU core is something different from the kernel.

See also: System calls and kernel mode, Process scheduling, Virtual memory and paging