A CPU Scheduling Simulator that supports FCFS, SJF, Priority, and Round Robin algorithms, featuring a user-friendly GUI. It includes a live Gantt Chart, displays average waiting and turnaround times, and provides real-time updates on remaining burst times for each process.
- Live Scheduling Simulation where each time unit is mapped to 1 second in real time.
- Gantt Chart displaying the order and time taken by each process.
- Live updating tables showing the status, progress and other details for each process.
- Display of average waiting time and average turnaround time after all processes are completed.
- First-Come, First-Served (FCFS)
- Shortest Job First (SJF)
- Preemptive (PSJF)
- Non-Preemptive (NPSJF)
- Priority Scheduling
- Preemptive (PP)
- Non-Preemptive (NPP)
- Round Robin (RR)
- Clone this repo:
git clone https://github.com/Abdulrahman295/CPU-Scheduling-Simulator.git
- Install dependencies:
npm install
- Build the app:
npm run build
The CPU Scheduling Simulator includes a testing section to ensure the correctness and functionality of the implemented scheduling algorithms. To run the tests, use the following command:
npm test
The tests are written using Jest and can be found in the test/ directory, where each scheduling algorithm has its own test file
This project is licensed under the MIT License. See the LICENSE
file for more details.