---
tags:
  - operating-systems
  - Linux
---
# Basic model of a nix operating system
We can abstract the Linux OS into three operational levels or tiers, from the
bottom up:
- User processes: user space
 
- The running programs that the kernel manages. Also known as the user space which is the memory that the kernal assigns for user processes. Comprising:
    - Graphical user interface
 
    - Servers
  
    - Shell
     
  
 - 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
     
  
 
!! Add info on kernel mode and user mode
https://www.geeksforgeeks.org/user-mode-and-kernel-mode-switching/