--- 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 kernel 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