process_scheduler_study is a Python-based educational tool designed to simulate CPU scheduling algorithms (FCFS, SJF Non-Preemptive, RR (Round Robin), LJF Non-Preemptive and SRTF) for operating systems courses. It allows users to input process details (PID, arrival time, burst time), select an algorithm, and specify a quantum for Round Robin. The tool generates a Gantt Chart using Matplotlib and calculates waiting times and average waiting time to aid in studying scheduling concepts.
- Supports FCFS, SJF (Non-Preemptive), Round Robin, LJF (Non-Preemptive) and SRTF scheduling algorithms.
- Interactive Tkinter GUI for entering process details and algorithm selection.
- Random process generation for quick testing.
- Visualizes results with Gantt Charts and displays waiting times.
- Calculates average waiting time as a float (e.g., 5.4) and also in fraction format (e.g. 3/10).
- Python 3.6 or higher
- Matplotlib (
pip install matplotlib)
git clone https://github.com/your-username/process_scheduler_study.git
cd process_scheduler_studypip install -r requirements.txtpython3 src/main.pyThis launches a Tkinter GUI where you can input processes, select an algorithm, and view the Gantt Chart and results.
- Enter the number of processes (1–10) in the GUI.
- Provide PID, arrival time, and burst time for each process, or click "Generate Random" for automatic input.
- Select an algorithm (FCFS, SJF, RR or SRTF) from the dropdown menu.
- For RR, specify a quantum value.
- Click "Run" to simulate and view the Gantt Chart, waiting times, and average waiting time.
This project is licensed under the MIT License - see the LICENSE file for details.