An Operating System(OS) is a software that manages and handles hardware and software resources of a computing device.
- Manages computer resources such as CPU, memory, and files
- Acts as an interface between user and hardware
- Performs core functions like process, memory, and file management
- Organizes system resources similar to different departments in a government
- Examples include Linux, Unix, Windows 11, MS-DOS, Android, macOS, and iOS

Basics
This section introduces the fundamentals of operating systems.
Process Scheduling
Focuses on process management and scheduling in operating systems.
- Process Introduction
- Process Control Block
- Process Table
- Process Management Introduction
- Process States
- Process Scheduler
- CPU Scheduling Algorithms
- Preemptive vs Non-Preemptive
- Dispatcher vs scheduler
- Starvation and Aging
Quiz: CPU Scheduling
Process Synchronization
Covers synchronization and IPC concepts.
- Inter Process Communication
- Process Synchronization
- Race Condition
- Critical Section
- Solutions to Process Synchronization Problems
- Peterson’s Algorithm
- Dekker’s algorithm
- Bakery Algorithm
- Hardware Based Solutions
- Semaphores
- Mutex vs. Semaphore
- Monitors
- Priority Inversion
- Classical IPC Problems
Quiz: Process Synchronization in OS
Deadlock
Explains deadlock in operating systems.
- Introduction
- Deadlock Handling
- Deadlock Prevention
- Banker’s Algorithm for Deadlock Avoidance
- Detection And Recovery
- Starvation, and Livelock
- Resource Allocation Graph (RAG)
- Methods of resource allocation
- Program for Deadlock free condition
Quiz: Deadlock
Multithreading
Focuses on multithreading concepts in operating systems.
- Operating System | Thread
- User Level Vs Kernel Level threads
- Process-based and Thread-based Multitasking
- Multi threading models
- Benefits of Multithreading
Quiz: Multithreading
Memory Management
Introduces the fundamentals of memory management in operating systems.
1. Basics
- Introduction to memory and memory units
- Memory Management in Operating System
- Logical and Physical Address in Operating System
2. Contiguous Allocation
- Implementation of Contiguous Memory Management
- Internal Fragmentation
- External Fragmentation
- Program for Next Fit algorithm in Memory Management
- Buddy System: Memory allocation technique
3. Non-Contiguous Allocation
- Non-Contiguous Allocation in Operating System
- Paging
- Page Table Entries in Page Table
- Segmentation
- Segmentation with Paging
4. Advanced Memory Concepts
5. Page Replacement & Thrashing
- Page Replacement Algorithms
- Belady’s Anomaly
- Second Chance (or Clock) Page Replacement Policy
- Techniques to handle Thrashing
- Working Set in Paging
6. Kernel & System-Level Concepts
- Allocating kernel memory (buddy system and slab system)
- Memory Interleaving
- Operating system based Virtualization
Quiz: Memory Management
Disk Management
Explains disk and file management in operating systems.
- File Systems
- Unix File System
- File Directory | Path Name
- Structures of Directory
- File Allocation Methods
- File Access Methods
- Secondary memory
- Secondary memory – Hard disk drive
- Disk Scheduling Algorithms
- Program for SSTF disk scheduling algorithm
- What exactly Spooling is all about?
- Spooling vs Buffering
- Free space management
Quiz: Input Output Systems