1.
Processes and Threads
- Process: A program in execution. Has its own memory space.
- Thread: A lightweight process that shares memory with other threads in the same process.
- Process States: New, Ready, Running, Waiting, Terminated
- Context Switching: Saving and loading process state during switching.
2. CPU Scheduling
- Scheduling Algorithms: FCFS, SJF, Round Robin, Priority
- Gantt charts used for visualizing schedule.
- Metrics: Waiting Time, Turnaround Time, Response Time
3. Process Synchronization
- Critical Section Problem: Ensures mutual exclusion.
- Peterson's Algorithm, Semaphores, Mutex
- Classical Problems: Producer-Consumer, Dining Philosophers, Readers-Writers
4. Deadlocks
- Necessary Conditions: Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait
- Prevention, Avoidance (Banker's Algorithm), Detection, Recovery
5. Memory Management
- Paging and Segmentation
- Page Table, TLB
- Virtual Memory, Demand Paging
- Page Replacement: FIFO, LRU, Optimal
6. File Systems
- File Attributes, Operations, Types
- Directory Structures: Single, Two-level, Tree, Acyclic Graph
- File Allocation: Contiguous, Linked, Indexed
7. I/O Management
- Disk Scheduling: FCFS, SSTF, SCAN, C-SCAN
- RAID Levels: RAID 0, 1, 5
8. System Calls & Basics
- Types: Process Control, File Management, Device Management, Information Maintenance
- OS Services: Program Execution, I/O Operations, File System Manipulation