What an Operating System Does
- Process Management
- Memory Management
- Deadlocks
- OS Introduction & Fundamentals
- CPU Scheduling Algorithms
- Threads & Concurrency
- Inter-Process Communication (IPC)
- Process Synchronization
- Virtual Memory & Paging
- File Systems
- Disk Scheduling
- I/O Management
What an Operating System Actually Is
An operating system is the software layer sitting between raw computer hardware and the applications people actually use - it manages every hardware resource (CPU, memory, storage, devices) and provides a consistent, predictable way for programs to use them, without each application needing to control the hardware directly itself.
Four Core Jobs an OS Performs
Applications (browser, editor, games...)
|
[ Operating System ] <-- manages everything below
|
Hardware (CPU, memory, disk, devices)| Job | What it means |
|---|---|
| Process management | Deciding which program runs on the CPU, and when |
| Memory management | Allocating and protecting each program's own memory space |
| File/storage management | Organizing data on disk into files and directories |
| Device management | Controlling input/output hardware like keyboards, disks and network cards |
Why This Abstraction Layer Is So Valuable
Without an OS, every application would need its own code to directly control the CPU, memory hardware, and every possible disk or device - an enormous, error-prone, and completely non-portable burden. The OS handles this complexity once, so applications can simply ask for what they need through a consistent interface.
Fair, Safe Sharing of Limited Resources
A modern computer runs many programs "simultaneously" despite typically having far fewer CPU cores than running programs. The OS is responsible for fairly sharing this limited resource among them, and for making sure one program cannot interfere with or crash another - both core themes covered in depth throughout the rest of this project.
Why Understanding This Comes First
Every other topic in this section - process scheduling, memory management, file systems, synchronization - is really just a deeper look at how the operating system actually accomplishes these four core jobs listed above.