Skip to content

1.3.1 Kernel / Shell / User Space

A Linux system is commonly described using three core components:
the kernel, the shell, and user space.

Each component has a distinct responsibility.


Kernel

The kernel is the core of the Linux system.

It is responsible for:

  • Managing hardware resources
  • Scheduling CPU processes
  • Handling memory
  • Controlling devices

The kernel runs continuously and operates at the lowest level of the system.


User Space

User space refers to all programs that run outside the kernel.

This includes:

  • System utilities
  • Background services
  • User applications

User space programs cannot access hardware directly.
They must request services from the kernel.


Shell

The shell is a special type of user space program.

Its role is to:

  • Interpret user commands
  • Pass requests to the kernel
  • Display output to the user

The shell acts as a bridge between the user and the operating system.


How They Work Together

In practice:

  • The user interacts with the shell
  • The shell communicates with the kernel
  • The kernel manages hardware and system resources

📌 Summary:
The kernel controls the system, user space runs programs, and the shell connects users to the system.