Fundamentals 15 min read

What Is an Operating System? Core Functions, Features, and Architecture Explained

This article provides a comprehensive overview of operating systems, explaining their essence as software, detailing core functions such as process and memory management, device and file system handling, security, user interfaces, and describing key characteristics like concurrency, sharing, asynchrony, virtualization, as well as common OS classifications and architectural designs.

Liangxu Linux
Liangxu Linux
Liangxu Linux
What Is an Operating System? Core Functions, Features, and Architecture Explained

What is an Operating System?

An operating system (OS) is a collection of software, primarily written in C/C++, that resides closest to the hardware. It abstracts, controls, and coordinates all computer resources, providing a stable platform for user applications.

Core Functions of an OS

Process Management

Memory Management

Device Management

File System Management

Security and Permission Management

Interaction Interfaces (GUI/CLI)

Process Management

The OS treats a process as the basic unit of resource allocation. Typical operations include creation (e.g., fork on Unix), termination, scheduling, synchronization, and inter‑process communication (IPC) such as pipes, sockets, and shared memory.

Each process contains executable code, data, a set of registers (state), and allocated resources (memory, file handles, network ports). The OS schedules CPU time among processes using algorithms like round‑robin, priority‑based, or multi‑level feedback queues.

Processes and their threads can be in one of several states: running , ready , or blocked . Context switches save the current state and restore the next scheduled thread.

Task Manager screenshot
Task Manager screenshot

Memory Management

The OS allocates memory to processes, isolates each process’s address space, and translates logical (virtual) addresses to physical addresses via the Memory Management Unit (MMU). Virtual memory techniques—paging and segmentation—allow the system to use disk space as an extension of RAM, enabling programs to run even when physical memory is insufficient.

Key responsibilities include:

Allocation and deallocation of pages/segments.

Protection to prevent a process from accessing another’s memory.

Page replacement policies (e.g., LRU, FIFO) for swapping.

Process state diagram
Process state diagram

Device Management

Device drivers act as translators between the OS and hardware peripherals (printers, disks, keyboards, network cards). The OS queues I/O requests, schedules device access, and may use Direct Memory Access (DMA) to move data without CPU intervention, improving overall throughput.

Device management illustration
Device management illustration

File System Management

A file system provides a hierarchical namespace for storing and retrieving data on storage devices. It defines operations such as create, delete, read, write, and directory traversal. Typical implementations use inodes (or similar structures) to store metadata and map file names to data blocks.

Security and Permission Management

The OS enforces authentication (e.g., passwords, biometrics), access control lists (ACLs), and optional encryption. Permissions restrict which users or processes may read, write, or execute files and devices, protecting data integrity and confidentiality.

Interaction Interfaces

Users interact with the OS via a Graphical User Interface (GUI) or Command‑Line Interface (CLI). Applications request OS services through system calls (e.g., open, read, write), which are often wrapped by higher‑level library functions for convenience.

System call diagram
System call diagram

Key OS Characteristics

Concurrency : Ability to handle multiple tasks within overlapping time intervals.

Sharing : Resources can be accessed by multiple concurrent processes, either mutually exclusive (critical sections) or simultaneous (e.g., read‑only files).

Asynchrony : Tasks proceed independently without a global clock, allowing I/O operations to complete while the CPU performs other work.

Virtualization : Physical resources are abstracted into multiple logical entities, a principle used in cloud computing and containerization.

Operating System Architecture

The kernel is the privileged core component that runs in kernel mode and interacts directly with hardware. User‑space programs run in user mode and can execute only non‑privileged instructions.

When an interrupt—either internal (exception) or external (I/O, timer)—occurs, the CPU switches from user mode to kernel mode to handle the event.

Kernels are classified as:

Monolithic : Most services (file system, network stack, device drivers) reside in kernel space, offering high performance at the cost of larger code size.

Microkernel : Only minimal services (e.g., scheduling, IPC) stay in kernel space; other components run in user space, improving modularity and fault isolation.

Monolithic vs microkernel diagram
Monolithic vs microkernel diagram

Interrupts

Interrupts are signals that require immediate attention:

Internal (exceptions) : Generated by the CPU itself, such as division by zero, invalid opcode, or page faults. Types include traps (debug), faults (recoverable), and aborts (non‑recoverable).

External : Generated by hardware devices (timer, I/O completion) or external events. The kernel’s interrupt handler saves the current context, processes the interrupt, and restores execution.

Common OS Classifications

Operating systems are tailored to different hardware platforms and usage scenarios:

Desktop OS – General‑purpose systems for personal computers (e.g., Windows, macOS, Linux).

Server OS – Optimized for network services, reliability, and scalability (e.g., Windows Server, Ubuntu Server).

Mobile OS – Designed for smartphones and tablets with power‑efficiency constraints (e.g., Android, iOS).

Embedded OS – Small footprint, real‑time capabilities for appliances, automotive, and industrial controllers (e.g., FreeRTOS, VxWorks).

IoT OS – Lightweight, often network‑centric, for constrained devices (e.g., Zephyr, TinyOS).

OS classification chart
OS classification chart
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.

Memory Managementconcurrencyprocess managementOperating SystemKernel ArchitectureVirtualizationOS fundamentals
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.