Fundamentals 34 min read

Understanding the Core Components of Modern Operating Systems

This article provides a comprehensive overview of operating system fundamentals, covering hardware components, kernel and user modes, CPU architecture, memory hierarchy, caching strategies, I/O devices, bus systems, boot processes, and various types of operating systems from mainframes to embedded devices.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Understanding the Core Components of Modern Operating Systems

Operating System Overview

Modern operating systems abstract a set of processors, main memory, and I/O devices (displays, keyboards, network interfaces, etc.) to provide a uniform programming model. The kernel runs in kernel mode (also called supervisor or core mode) with full hardware privileges, while user applications and shells run in user mode with restricted access.

Typical OS families include Windows , Linux , FreeBSD and macOS . Graphical user interfaces (GUI) sit on top of the kernel, whereas text‑based command shells provide a minimal interface.

Operating system layer diagram
Operating system layer diagram

Computer Hardware Overview

A personal computer can be modeled as a CPU, memory, and I/O devices connected by one or more buses. Modern CPUs feature pipelines, superscalar execution, multiple cores, and hardware multithreading (e.g., Intel Hyper‑Threading).

CPU pipeline and superscalar diagram
CPU pipeline and superscalar diagram

CPU Core Components

Key registers include the program counter (next instruction address), stack pointer (top of the call stack), general‑purpose registers, and the Program Status Word (PSW) which records the current processor state. During a context switch the OS saves all register values so the new process can resume later.

Modern CPUs implement a pipeline that overlaps fetch, decode, and execute stages, and a superscalar design that can issue multiple instructions per cycle to independent execution units (integer, floating‑point, branch, etc.).

Multithreading and Multicore

Hardware multithreading (e.g., Intel Hyper‑Threading) maintains multiple thread contexts per core and switches between them on nanosecond time scales, allowing the OS to treat each thread as a logical CPU. Multicore chips contain two or more independent cores, each with its own pipeline and registers. GPUs consist of thousands of simple cores optimized for massive data‑parallel workloads.

Memory Hierarchy

The memory system is layered:

Registers – fastest, located inside the CPU.

Cache (L1, L2, optional L3) – stores recently used data; a cache hit costs a few clock cycles, a miss triggers a main‑memory access.

Main memory (RAM) – volatile, larger capacity, accessed via the Memory Management Unit (MMU).

Secondary storage – HDD, SSD, or flash; non‑volatile and much slower.

Virtual memory extends the address space by swapping pages between RAM and disk, managed by the MMU.

I/O Devices and Drivers

Device controllers translate OS commands into hardware actions. Drivers run in kernel mode and expose a simplified API to the OS. Installation methods differ:

Rebuilding or reloading the kernel (common on UNIX‑like systems).

Adding a driver entry in system configuration files (Windows).

Hot‑plugging: modern OSes can load drivers at runtime without reboot.

I/O can be performed via: Busy‑waiting – the CPU polls the device (inefficient). Interrupt‑driven – the device signals completion, allowing the CPU to perform other work. Direct Memory Access (DMA) – a DMA engine moves data between memory and the device without CPU intervention.

Bus Architectures

Early PCs used a single shared bus; contemporary systems employ multiple specialized buses: PCIe – high‑speed serial links for graphics cards and other peripherals. USB – serial bus for low‑speed devices (keyboards, mice, storage). SATA – serial ATA for disks. DMI – Intel Direct Media Interface for chipset‑CPU communication.

PCIe replaces the older parallel PCI bus with point‑to‑point serial lanes, eliminating bus contention.

Boot Process

On power‑on, the BIOS/UEFI firmware performs hardware initialization, checks RAM, and scans buses for a bootable device (e.g., CD‑ROM, USB, or hard disk). It then loads a bootloader from the selected device, which in turn loads the OS kernel. The kernel initializes drivers, creates background processes, and starts the user interface.

Operating System Classification

Operating systems have evolved into several major categories:

Mainframe OS – used in large data centers; handle thousands of disks and high I/O throughput.

Server OS – Linux, Solaris, FreeBSD, Windows Server; provide network services, file sharing, and virtualization.

Multiprocessor OS – support multiple CPUs/cores; modern desktop OSes (Windows, Linux, macOS) fall here.

Desktop OS – Linux, Windows, macOS; support GUI, multitasking, and a wide range of applications.

Mobile OS – Android, iOS; optimized for power efficiency and touch input.

Embedded OS – Linux, QNX, VxWorks; run on devices with limited resources (microwaves, automotive controllers).

Sensor‑node OS – tiny, event‑driven kernels for wireless sensor networks.

Real‑time OS – hard RTOS guarantees strict deadlines (industrial control); soft RTOS tolerates occasional deadline misses (multimedia, smartphones).

Smart‑card OS – minimal kernels on credit‑card‑sized devices, often include a Java Virtual Machine.

References

《现代操作系统》第四版

https://baike.baidu.com/item/操作系统/192

《Modern Operating System》 fourth edition

http://faculty.cs.niu.edu/~hutchins/csci360/hchnotes/psw.htm

https://www.computerhope.com/jargon/c/clockcyc.htm

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Boot Processcomputer architectureMemory HierarchyCPU designI/O devices
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.