Developed a desktop-based CPU Scheduling Simulator to implement, analyze, and compare multiple scheduling algorithms used in Operating Systems.
Technologies Used:
C# – .NET Framework – Windows Forms
The simulator implements:
FCFS
Shortest Job First (Preemptive & Non-Preemptive)
Priority (Preemptive & Non-Preemptive)
Round Robin
Key Features:
Input process ID, arrival time, and burst time
Toggle between preemptive and non-preemptive modes
Automatic calculation of:
Waiting Time
Turnaround Time
Average Waiting Time
Average Turnaround Time
Gantt Chart visualization of process execution
Pie chart for CPU distribution
Histogram comparing average waiting time across algorithms
Automatic detection of the best-performing algorithm
Import and export functionality for process data
I was responsible for:
Implementing scheduling algorithms from scratch
Handling process state transitions and timing calculations
Designing the UI using Windows Forms
Developing data structures for accurate simulation
Building visualization components for performance comparison
This project strengthened my understanding of Operating Systems concepts, algorithm efficiency, time complexity, and performance analysis through practical implementation.