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.
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.
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.
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.
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.
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).
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.
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).
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)
Representative Architecture Diagrams
Generic OS architecture and a Linux‑specific view are shown below.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
