Modern microprocessors support a minimum of two privilege levels. As a real-world example, the Intel/AMD x86[-64] family supports four privilege levels (they call them ring levels), and the ARM (32-bit) microprocessor family supports up to seven (ARM calls them execution modes; six are privileged and one is non-privileged).
The key point here is that for security and stability on the platform, all modern operating systems running on these processors will make use of (at least) two of the privilege levels (or modes):
- User space: For applications to run in unprivileged user mode
- Kernel space: For the kernel (and all its components) to run in privileged mode – kernel mode
The following figure shows this basic architecture:
Figure 4.1 – Basic architecture – two privilege modes
A few details on the Linux system architecture follow; do read on.