2022-05-23 17:42:11 +01:00
|
|
|
---
|
2022-09-06 13:26:44 +01:00
|
|
|
tags:
|
2024-06-15 11:30:03 +01:00
|
|
|
- operating-systems
|
2026-01-31 12:21:49 +00:00
|
|
|
- linux
|
2022-05-23 17:42:11 +01:00
|
|
|
---
|
|
|
|
|
|
2026-01-31 12:21:49 +00:00
|
|
|
# Basic model of a \*nix operating system
|
2022-05-23 17:42:11 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
We can abstract the Linux OS into three operational levels or tiers, from the
|
|
|
|
|
bottom up:
|
2022-05-23 17:42:11 +01:00
|
|
|
|
2026-01-31 12:21:49 +00:00
|
|
|
- **User processes: user space**
|
|
|
|
|
- The running programs that the kernel manages. Also known as the user space
|
|
|
|
|
which is the memory that the kernel assigns for user processes. Comprising:
|
|
|
|
|
- Graphical user interface
|
|
|
|
|
- Servers
|
|
|
|
|
- Shell
|
2022-05-23 18:30:04 +01:00
|
|
|
|
2026-01-31 12:21:49 +00:00
|
|
|
- **Kernel: kernel space**
|
|
|
|
|
- The core of the operating system. Software residing in memory that tells the
|
|
|
|
|
CPU where to look for its next task. Acts as a mediator and primary
|
|
|
|
|
interface between the hardware and the user processes. Known as kernel
|
|
|
|
|
space: the memory that the kernel allocates for itself. Comprising:
|
|
|
|
|
- System calls
|
|
|
|
|
- Process management
|
|
|
|
|
- Memory management
|
|
|
|
|
- Device drivers
|
|
|
|
|
|
|
|
|
|
- **Hardware**
|
|
|
|
|
- The base: one or more CPUs and RAM memory performing computations and
|
|
|
|
|
writing to memory. Comprising:
|
|
|
|
|
- Processor (CPU)
|
|
|
|
|
- Main memory (RAM)
|
|
|
|
|
- Disks
|
|
|
|
|
- Network ports
|