# What Is the Linux Kernel?

URL:: https://redhat.com/en/topics/linux/what-is-the-linux-kernel
Author:: redhat.com
## Highlights
> The Linux® kernel is the main component of a Linux 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. ([View Highlight](https://read.readwise.io/read/01fpa44vm54mbrg25kzkws9441))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa44xm34sj626cnzkfn25tk))
> The kernel has 4 jobs:
> 1. **Memory management:** Keep track of how much memory is used to store what, and where
> 2. **Process management:** Determine which processes can use the central processing unit (CPU), when, and for how long
> 3. **Device drivers:** Act as mediator/interpreter between the hardware and processes
> 4. **System calls and security:** Receive requests for service from the processes ([View Highlight](https://read.readwise.io/read/01fpa4522dtd5ryxpmrzwx7j52))
> 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 and [files](https://www.redhat.com/en/topics/data-storage/file-block-object-storage)—are known as the user space. These applications interact with the kernel through a system call interface (SCI). ([View Highlight](https://read.readwise.io/read/01fpa45d634gvr0m4m2z1btyy7))
> To put the kernel in context, you can think of a [Linux](https://www.redhat.com/en/topics/linux) machine as having 3 layers:
> 1. **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 as [storage](https://www.redhat.com/en/topics/data-storage), [networking](https://www.redhat.com/en/topics/hyperconverged-infrastructure/what-is-software-defined-networking), and graphics. The CPU performs computations and reads from, and writes to, memory.
> 2. **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.
> 3. **User processes:** These are the running programs that the kernel [manages](https://www.redhat.com/en/topics/management). User processes are what collectively make up user space. User processes are also known as just *processes*. The kernel also allows these processes and servers to communicate with each other (known as inter-process communication, or IPC). ([View Highlight](https://read.readwise.io/read/01fpa45z22ddjhnfgk6d2wd1bt))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa46e43gghzhwpkxhav0zjz))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa46nwcc5m3yqqvhec6x21s))
---
Title: What Is the Linux Kernel?
Author: redhat.com
Tags: readwise, articles
date: 2024-01-30
---
# What Is the Linux Kernel?

URL:: https://redhat.com/en/topics/linux/what-is-the-linux-kernel
Author:: redhat.com
## AI-Generated Summary
The Linux kernel is the main component of a Linux operating system (OS) and is the core interface between a computer’s hardware and its processes.
## Highlights
> The Linux® kernel is the main component of a Linux 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. ([View Highlight](https://read.readwise.io/read/01fpa44vm54mbrg25kzkws9441))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa44xm34sj626cnzkfn25tk))
> The kernel has 4 jobs:
> 1. **Memory management:** Keep track of how much memory is used to store what, and where
> 2. **Process management:** Determine which processes can use the central processing unit (CPU), when, and for how long
> 3. **Device drivers:** Act as mediator/interpreter between the hardware and processes
> 4. **System calls and security:** Receive requests for service from the processes ([View Highlight](https://read.readwise.io/read/01fpa4522dtd5ryxpmrzwx7j52))
> 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 and [files](https://www.redhat.com/en/topics/data-storage/file-block-object-storage)—are known as the user space. These applications interact with the kernel through a system call interface (SCI). ([View Highlight](https://read.readwise.io/read/01fpa45d634gvr0m4m2z1btyy7))
> To put the kernel in context, you can think of a [Linux](https://www.redhat.com/en/topics/linux) machine as having 3 layers:
> 1. **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 as [storage](https://www.redhat.com/en/topics/data-storage), [networking](https://www.redhat.com/en/topics/hyperconverged-infrastructure/what-is-software-defined-networking), and graphics. The CPU performs computations and reads from, and writes to, memory.
> 2. **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.
> 3. **User processes:** These are the running programs that the kernel [manages](https://www.redhat.com/en/topics/management). User processes are what collectively make up user space. User processes are also known as just *processes*. The kernel also allows these processes and servers to communicate with each other (known as inter-process communication, or IPC). ([View Highlight](https://read.readwise.io/read/01fpa45z22ddjhnfgk6d2wd1bt))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa46e43gghzhwpkxhav0zjz))
> 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. ([View Highlight](https://read.readwise.io/read/01fpa46nwcc5m3yqqvhec6x21s))