Overview
The Linux® kernel is the main component of aLinux operating system (OS) and is the core interface between a computer’s hardware and its processes. It communicates between the 2, managing resources as efficiently as possible.
The kernel is so named because—like a seed inside a hard shell—it exists within the OS and controls all the major functions of the hardware, whether it’s a phone, laptop, server, or any other kind of computer.
What the kernel does
The kernel has 4 jobs:
- Memory management: Keep track of how much memory is used to store what, and where
- Process management: Determine which processes can use the central processing unit (CPU), when, and for how long
- Device drivers: Act as mediator/interpreter between the hardware and processes
- System calls and security: Receive requests for service from the processes
The kernel, if implemented properly, is invisible to the user, working in its own little world known as kernel space, where it allocates memory and keeps track of where everything is stored. What the user sees—like web browsers andfiles—are known as the user space. These applications interact with the kernel through a system call interface (SCI).
Think about it like this: The kernel is a busy personal assistant for a powerful executive (the hardware). It’s the assistant’s job to relay messages and requests (processes) from employees and the public (users) to the executive, to remember what is stored where (memory), and to determine who has access to the executive at any given time and for how long.
Red Hat resources
Where the kernel fits within the OS
To put the kernel in context, you can think of aLinux machine as having 3 layers:
- The hardware: The physical machine—the bottom or base of the system, made up of memory (RAM) and the processor or central processing unit (CPU), as well as input/output (I/O) devices such asstorage,networking, and graphics. The CPU performs computations and reads from, and writes to, memory.
- The Linux kernel: The core of the OS. (See? It’s right in the middle.) It’s software residing in memory that tells the CPU what to do.
- User processes: These are the running programs that the kernelmanages. User processes are what collectively make up user space. User processes are also known as justprocesses. The kernel also allows these processes and servers to communicate with each other (known as inter-process communication, or IPC).
Code executed by the system runs on CPUs in 1 of 2 modes: kernel mode or user mode. Code running in the kernel mode has unrestricted access to the hardware, while user mode restricts access to the CPU and memory to the SCI. A similar separation exists for memory (kernel space and user space). These 2 small details form the base for some complicated operations like privilege separation forsecurity,building containers, andvirtual machines.
This also means that if a process fails in user mode, the damage is limited and can be recovered by the kernel. However, because of its access to memory and the processor, a kernel process crash can crash the entire system. Since there are safeguards in place and permissions required to cross boundaries, user process crashes usually can’t cause too many problems.
Also, because the Linux kernel can continue to work duringlive patching, there's no downtime while patches are applied for security fixes.
Why choose Red Hat?
At Red Hat, Linux is the foundation of everything we do. Red Hat is the second largest corporate contributor to the Linux kernel, bringing with it the experience and expertise of 25 years and a large community of partners, customers, and experts from across the industry. That’s a long relationship, with a history and level of experience that’s hard to come by.
The Linux kernel isopen source, and open source is at the core of Red Hat’s values. Learn why we’ve built our company on our conviction thatRed Hat® Enterprise Linux is the best.
The official Red Hat blog
Get the latest information about our ecosystem of customers, partners, and communities.
All Red Hat product trials
Keep reading
Why run Linux on AWS?
What is high availability?
What is ERP?
Linux resources
Related articles
- Why run Linux on AWS?
- What is high availability?
- What is ERP?
- Functional safety and continuous certification on Linux
- What is SAP HANA (and why does it run on Linux)?
- Why run Linux on IBM Cloud
- What is CentOS Stream?
- Why choose Red Hat Enterprise Linux on Azure?
- Why choose Red Hat Enterprise Linux on AWS?
- Linux on Azure
- Linux for cloud computing
- How to move to Red Hat Enterprise Linux from other Linux distros
- Red Hat Enterprise Linux migration process
- Why choose Red Hat for Linux?
- What to know about CentOS Linux EOL
- What is CentOS?
- What to know for Red Hat Enterprise Linux 7 End of Maintenance
- Why run Linux on Google Cloud?
- Red Hat Satellite on Red Hat Enterprise Linux
- Why choose Red Hat Enterprise Linux on Google Cloud?
- What is Linux kernel live patching?
- What is the SAP HANA migration?
- Why run Microsoft SQL Server on Linux?
- What's the difference between Fedora and Red Hat Enterprise Linux
- What is Linux?
- What's the best Linux distro for you?
- What is an image builder?
- What is a Linux server?
- What is a configuration file?
- What is high performance computing (HPC)?
- What is a golden image?
- What is an ARM processor?
- ARM vs x86: What's the difference?
- What is lightweight directory access protocol (LDAP) authentication?
- What is MPLS?
- Red Hat Enterprise Linux security
- What is a Linux certification?
- What was CoreOS and CoreOS container Linux
- What is SELinux?