Fundamentals 14 min read

What Is an Operating System? Core Functions, Architecture & Key Concepts

Operating systems are foundational software that manage hardware resources, provide core services like process and memory management, device and file handling, security, and user interfaces, while embodying key properties such as concurrency, sharing, asynchrony, and virtualization, and exist in various architectures from monolithic to microkernels.

Java Tech Enthusiast
Java Tech Enthusiast
Java Tech Enthusiast
What Is an Operating System? Core Functions, Architecture & Key Concepts

Definition

An operating system (OS) is a collection of programs, primarily written in C/C++, that sits directly above hardware. It abstracts hardware details and provides standardized interfaces for applications, managing resources such as CPU time, memory, I/O devices, and files.

Core Functions

Process Management

The OS treats a process as the basic unit of resource allocation. It creates, schedules, synchronizes, and terminates processes. Each process contains code, data, state, and allocated resources (memory, file handles, network ports). Threads are the smallest schedulable units within a process, sharing the same address space to enable concurrent execution.

Typical commands: tasklist (Windows) or ps -ef (Linux) list active processes; kill <pid> terminates a process.

Task Manager
Task Manager

Memory Management

The OS allocates RAM to processes, protects each process’s address space, and translates logical addresses to physical ones. Virtual memory techniques allow the logical address space to exceed physical memory by paging or swapping.

Computer hierarchy architecture
Computer hierarchy architecture

Device Management

Device drivers mediate access to peripherals (printers, disks, keyboards, mice). The OS queues I/O requests, schedules device usage, and strives to keep both CPU and I/O devices highly utilized.

Device management
Device management

File System Management

File systems organize, store, retrieve, and protect data on storage media. The OS provides operations for creating, deleting, reading, writing, and navigating directories, abstracting raw disk blocks into a hierarchical namespace.

Security and Permission Management

Through authentication, access‑control lists, and encryption, the OS ensures that only authorized users and processes can access resources, preserving data integrity and confidentiality.

Interaction Interfaces

Users interact via graphical user interfaces (GUI) or command‑line interfaces (CLI). Shells interpret commands and launch programs, while the OS translates user actions into system calls.

Shell and interface
Shell and interface

Key Characteristics

Concurrency : The OS can schedule multiple programs to make progress during overlapping time intervals.

Sharing : Resources (CPU, memory, I/O) can be accessed by multiple concurrent processes, either exclusively (mutual exclusion) or simultaneously.

Asynchrony : Tasks proceed independently without a global clock, improving overall throughput.

Virtualization : Physical resources are presented as multiple logical entities (e.g., virtual memory, containers).

Concurrency illustration
Concurrency illustration

OS Architecture

The kernel runs in privileged mode and interacts directly with hardware. User‑mode programs execute non‑privileged instructions and request services via system calls. Interrupts (internal exceptions and external I/O signals) allow the kernel to regain control when events occur.

Kernel Types

Monolithic kernels place most services in kernel space, while microkernels keep only essential functions there and move other services to user space for modularity and maintainability.

Kernel types
Kernel types

System Calls

Applications invoke OS services through a defined set of system calls, often wrapped by higher‑level library functions (e.g., open(), read(), fork() on Unix).

System call illustration
System call illustration

Common OS Classifications

Modern operating systems are grouped by target hardware and usage scenarios:

Desktop OS (e.g., Windows, macOS, Linux)

Server OS (e.g., Windows Server, Linux distributions)

Mobile OS (e.g., Android, iOS)

Embedded OS (e.g., FreeRTOS, VxWorks)

IoT OS (e.g., Zephyr, TinyOS)

OS classification
OS classification

Representative Architecture Diagrams

Generic OS architecture and a Linux‑specific view are shown below.

Overall OS architecture
Overall OS architecture
Linux architecture diagram
Linux architecture diagram
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 ArchitectureVirtualization
Java Tech Enthusiast
Written by

Java Tech Enthusiast

Sharing computer programming language knowledge, focusing on Java fundamentals, data structures, related tools, Spring Cloud, IntelliJ IDEA... Book giveaways, red‑packet rewards and other perks await!

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.