Operating System Tutorial

Processes, CPU scheduling, synchronization, deadlocks, memory management, virtual memory and file systems.

An Operating System (OS) is system software that acts as an interface between the user and the computer hardware. It manages resources (CPU, memory, I/O devices and files) and provides services to programs.

Functions of an OS

  • Process management
  • Memory management
  • File system management
  • Device (I/O) management
  • Security and protection
  • User interface (CLI/GUI)

Types of Operating Systems

TypeIdeaExample
BatchSimilar jobs grouped and run without user interactionEarly IBM systems
MultiprogrammingSeveral programs in memory; CPU switches when one waits for I/O—
Time-sharingCPU time sliced among users for interactive responseUNIX
Real-timeStrict timing deadlines (hard/soft)VxWorks, FreeRTOS
DistributedMultiple machines appear as one system—
MobileOptimised for touch, battery and sensorsAndroid, iOS

Kernel Types

Monolithic (all services in kernel space, e.g. Linux), microkernel (minimal kernel with services in user space, e.g. Minix, QNX) and hybrid (Windows NT, macOS XNU).

System Calls

A system call is how a program requests a service from the kernel. Examples: fork(), exec(), wait(), open(), read(), write().

Track your progress through the Operating System course