What is the Linux Kernel and what are its main responsibilities?
The kernel is the operating system's core — the privileged layer that controls the hardware and shares it out fairly among all running programs.
* User-space programs must ask the kernel via syscalls; only the privileged kernel touches the hardware. *
Think of the kernel as the resource manager that no application is allowed to bypass. Ordinary programs run in "user space" and can't touch hardware directly; when they need RAM, disk, or network they ask the kernel, which arbitrates. This is what stops one buggy program from corrupting another's memory or hogging the whole CPU.
| Responsibility | What it actually does |
|---|---|
| Memory management | Hands each process its own protected slice of RAM |
| Multitasking (scheduling) | Rapidly switches the CPU between processes so they appear to run at once |
| Device drivers | Speaks the specific language of each piece of hardware |
| Network management | Moves packets in and out, runs the TCP/IP stack |
| Filesystem management | Turns raw disk blocks into named files and directories |
Important: The kernel by itself does nothing visible — it's an engine with no steering wheel. You need system programs like a shell (bash), an init system, and utilities to actually drive it. That's the whole reason "Linux" in everyday speech means kernel plus all that surrounding software.
Mnemonic: "Kernel = King of Hardware" — every hardware request goes through it.