Operating Systems
The operating system (OS) is the software layer between your programs and the hardware. Without an OS, every application would need to manage memory, files, and hardware directly. The OS abstracts all of that complexity.
Key Concepts
Processes and Threads
A process is a running program — it has its own memory space. A thread is a unit of work within a process. A web browser might have one process with many threads: one rendering the page, one downloading files, one running JavaScript. The OS scheduler decides which thread runs on the CPU and when.
Memory Management
The OS gives each process its own virtual address space — even if two programs use address 0x1000, they are not in the same physical memory. The OS uses virtual memory to map these addresses to physical RAM. When RAM fills up, the OS pages data to disk (this is why your computer slows down when RAM is full).
File Systems
A file system organizes data on storage. FAT32, NTFS, ext4, APFS are all file systems. They manage where files are stored, track free space, handle permissions, and provide the directories/folders structure. A file is just blocks of data; the file system records which blocks belong to which file.
🆕 Process Scheduler Simulator
Simulate CPU scheduling. See how the OS time-slices between processes!
✅ Check Your Understanding
1. What is a process?
2. Why does virtual memory exist?
3. What is a file system?