This repository contains Java implementation of a program that simulates the following CPU scheduling algorithms:
- SJF (Shortest Job First)
- Priority Scheduling
- SRTF (Shortest Remaining Time First)
- AG Scheduling (A newly proposed algorithm in which a new factor is suggested to attach with each submitted process called AG-Factor)
The user can choose the scheduling algorithm he wants to simulate and the number of processes, processes data to be scheduled or our simulator will generate random processes with random data. For each simulation our program will output the following:
- Processes execution order (CPU Scheduling Graph)
- Waiting Time for each process
- Turnaround Time for each process
- Average Waiting Time
- Average Turnaround Time
- History update of quantum time for each process (AG Scheduling)
- Processes Information (Name, PID, Color...etc.)
- SJF Scheduling simulation output (Non-preemptive)
- Priority Scheduling simulation output (Non-preemptive)
- SRTF Scheduling simulation output (Preemptive)
- AG Scheduling simulation output (Preemptive)