← SEARCHABLE ARCHIVE
Operating System · 2026-07-10

What is a kernel?

How does an operating system connect hardware and programs?

INTERACTIVE READING MODE →

The articles written on this blog were created with the goal of teaching. Also, the information in the article may be incorrect, so please be careful.

Programs such as games, browsers, and notepads do not directly manipulate the CPU, memory, and disk. The core part of the operating system that manages resources between programs and hardware is called the kernel.

The kernel is a resource manager

There are many programs on a computer that want to run simultaneously, but CPU cores and memory are limited. The kernel decides who to give CPU time to, what memory is available, and how to access files and devices.

application
Game / Browser / Notepad
↓ Request
kernel
Process/Memory/File/Device Management
↓ Control
CPU/RAM/SSD/Keyboard/Network Card

The representative roles of the kernel are as follows.

  • Manages the execution order of processes and threads.
  • Creates a virtual memory space to be used by each program.
  • Manage files and directories through the file system.
  • It communicates with hardware through device drivers.
  • Processes network packets.
  • Prevents a program from tampering with the memory of another program.

The program makes a request to the kernel

Just because an application wants to read a file, it doesn't create SSD control commands directly. When you call a function provided by the operating system, the kernel checks permissions and arguments and then performs the actual task.

std::ifstream file("save.dat");

In C++ code, it looks like a simple file object, but further down the line it uses the operating system's file opening and reading functions. Like this, the channel through which an application requests kernel functions is called a System Call.

If the kernel crashes, the entire computer is affected.

If one general program goes wrong, usually only that program is terminated. However, since the kernel and kernel-mode drivers manage the entire system, if an incorrect memory access occurs here, the entire operating system may stop.

Therefore, since kernel code has high privileges, verification and stability are very important. The kernel is not simply one of the operating system programs, but the central layer that controls the safe sharing of hardware.