Operating System Project CPU Scheduling & Memory Management Algorithms Presented by: [Your Name]
Introduction This project implements key algorithms in operating systems for CPU scheduling and memory management. It includes: - CPU Scheduling: FCFS, SJF, SRTF, Priority, Round Robin - Deadlock Avoidance: Banker's Algorithm - Memory Management: Page Replacement (FIFO, LRU, Optimal)
First-Come First-Served (FCFS) Processes executed in order of arrival (non-preemptive). Example: - P1 (AT=0, BT=5) → WT=0, TAT=5 - P2 (AT=3, BT=8) → WT=2, TAT=10 - P3 (AT=5, BT=4) → WT=8, TAT=12 Average WT = 3.33, Average TAT = 9.0
Shortest Job First (SJF) Non-preemptive: shortest burst time among arrived processes. Execution Order: P1 → P3 → P2 Average WT = 2.0, Average TAT = 7.0
Preemptive SJF (SRTF) Preemptive: shortest remaining time gets CPU. P1 is preempted by P2 and then P3. Average WT = 1.33, Average TAT = 4.0
Round Robin Scheduling Each process gets equal time quantum (e.g., 2 units). Processes cycle through queue until completion. Average WT = 4.0, Average TAT = 9.0
Banker's Algorithm Used to avoid deadlock by ensuring safe state. Steps: - Calculate Need = Max - Allocation - Use Work vector to simulate process completion - Check safe sequence exists Example Safe Sequence: P1 → P3 → P4 → P0 → P2
Page Replacement Algorithms Reference String: 7012030423203121, Frame Size = 3 - FIFO: 12 page faults - LRU: 11 page faults - Optimal: 8 page faults Optimal is best but not implementable in real systems
Conclusion The simulation compares multiple CPU scheduling and memory management strategies. Each algorithm offers different trade-offs in efficiency, responsiveness, and fairness. Understanding these helps design better real-time and multitasking systems.