A comprehensive Operating System simulation project developed in C++ that demonstrates key OS concepts including process synchronization, CPU scheduling, and memory management.
This project combines three major operating system components into a single application:
- Elevator Simulation (Multithreading & Synchronization)
- CPU Scheduling Simulator (FCFS & SJF)
- Memory Allocation Simulator (Last Fit Algorithm)
- Multi-threaded passenger simulation
- Mutex synchronization
- Condition Variables
- Elevator capacity control
- Thread-safe passenger management
- Broadcast signaling for waiting passengers
- First Come First Serve (FCFS)
- Shortest Job First (SJF)
- Two-phase scheduling system
- Waiting Time calculation
- Turnaround Time calculation
- Completion Time analysis
- Last Fit memory allocation algorithm
- Dynamic memory management
- Memory utilization tracking
- Internal fragmentation analysis
- Process allocation visualization
- C++
- POSIX Threads (Pthreads)
- Mutex Locks
- Condition Variables
- Dynamic Memory Allocation
- Process Synchronization
- Multithreading
- Thread Safety
- CPU Scheduling Algorithms
- Memory Management
- Operating System Design Concepts
- Concurrent Programming
- FCFS (First Come First Serve)
- SJF (Shortest Job First)
- Last Fit Allocation
- Mutex Locks
- Condition Variables
- Thread Coordination
- Round Robin Scheduling
- Priority Scheduling
- Best Fit & Worst Fit Allocation
- Banker’s Algorithm
- Deadlock Detection
- GUI-Based Visualization