Operating Systems — Core Concepts
Subject: Computer Science
What is an Operating System?
An operating system (OS) is system software that manages hardware and software resources and
provides services to application programs. It acts as an intermediary between users and computer
hardware. Examples include Windows, Linux, and macOS.
Process Management
A process is a program in execution. The OS manages process creation, scheduling, and termination. The
Process Control Block (PCB) stores information about each process. Context switching allows the CPU to
switch between processes rapidly.
CPU Scheduling
CPU scheduling determines which process runs on the CPU at any given time. Algorithms include First
Come First Served (FCFS), Shortest Job First (SJF), Round Robin, and Priority Scheduling. Each has
trade-offs in fairness, throughput, and response time.
Memory Management
The OS manages allocation and deallocation of memory to processes. Techniques include contiguous
allocation, paging (dividing memory into fixed-size frames), and segmentation. Virtual memory allows
processes to use more memory than physically available by using disk space as an extension.
File Systems
A file system organizes and stores data on storage devices. It manages file creation, deletion, reading,
writing, and access permissions. Common file systems include FAT32, NTFS (Windows), and ext4 (Linux).
Directories organize files hierarchically.
Deadlocks
A deadlock occurs when two or more processes are each waiting for a resource held by the other, forming
a circular wait. The four conditions for deadlock are mutual exclusion, hold and wait, no preemption, and
circular wait. Prevention, avoidance, detection, and recovery are strategies for handling deadlocks.
Synchronization
When multiple processes access shared resources concurrently, race conditions can occur.
Synchronization mechanisms including mutexes, semaphores, and monitors ensure that only one process
accesses a critical section at a time, maintaining data consistency.
Input Output Management
The OS manages communication between the CPU and I/O devices such as keyboards, displays, and
disks. Techniques include polling, interrupt-driven I/O, and Direct Memory Access (DMA). Device drivers
provide a uniform interface for the OS to communicate with hardware.
Virtual Memory
Virtual memory gives each process the illusion of having a large, private address space. Pages are loaded
into physical memory only when needed (demand paging). Page replacement algorithms such as LRU
(Least Recently Used) and FIFO determine which pages to evict when memory is full.
Security and Protection
The OS enforces access control to protect resources from unauthorized access. User authentication,
access control lists, and privilege levels restrict what users and processes can do. The OS also protects
against malware, buffer overflows, and privilege escalation attacks.
Summary
Operating systems are the backbone of all computing systems. Understanding process management,
memory, file systems, scheduling, and synchronization is essential for systems programming,
cybersecurity, and software engineering roles.