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.