This project aims to implement a CPU Scheduler application that supports various scheduling algorithms. The application allows users to simulate the execution of processes with different scheduling algorithms, visualize the scheduling process through a Gantt Chart, and calculate average waiting time and average turnaround time.
- First-Come, First-Served (FCFS)
- Shortest Job First (SJF) - Preemptive and Non-Preemptive
- Priority - Preemptive and Non-Preemptive (Lower priority numbers indicate higher priority)
- Round Robin
- Dynamic addition of processes during execution
- Live scheduling with each time unit mapped to 1 second
- Real-time update of remaining burst time for processes
- Option to run existing processes without live scheduling
- Graphical User Interface (GUI) desktop application
- Download the executable file from the provided link.
- Launch the application.
- Select the desired scheduling algorithm.
- Enter the necessary information for each process according to the selected algorithm.
- Optionally, add new processes dynamically during execution.
- Run the scheduler to visualize the scheduling process and view the Gantt Chart.
- Review the calculated average waiting time and average turnaround time.
- Java Runtime Environment (JRE)
- Operating System: Windows
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd cpu-scheduler
- Build the project:
mvn package