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
| Type | Idea | Example |
|---|---|---|
| Batch | Similar jobs grouped and run without user interaction | Early IBM systems |
| Multiprogramming | Several programs in memory; CPU switches when one waits for I/O | — |
| Time-sharing | CPU time sliced among users for interactive response | UNIX |
| Real-time | Strict timing deadlines (hard/soft) | VxWorks, FreeRTOS |
| Distributed | Multiple machines appear as one system | — |
| Mobile | Optimised for touch, battery and sensors | Android, 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