The project focuses on simulating various CPU scheduling algorithms and visualizing the results using both console-based and graphical approaches. The project includes two versions: one that provides a textual representation of the scheduling algorithms' outcomes in the console and another that employs the Raylib library to create interactive Gantt chart visualizations.
This project aims to provide a hands-on understanding of various CPU scheduling algorithms commonly used in operating systems. By simulating these algorithms and visualizing their execution using Gantt charts, the project offers insight into their efficiency and performance characteristics. The simulation covers algorithms like First-Come, First-Served (FCFS), Shortest Job First (SJF), Round Robin (RR), and Priority Scheduling (PS).
- Console Version: A text-based implementation of CPU scheduling algorithms that shows the execution flow and Gantt chart of processes.
- Graphical Version: A visual implementation using Raylib that offers an interactive Gantt chart for a more intuitive understanding of process scheduling.
- C++ for algorithm implementation
- Raylib for graphical visualization
- Clone this repository to your local machine.
- Follow the installation instructions provided in the respective sections.
- Choose the appropriate version (console or graphical) and follow the usage instructions for each.
- Navigate to the
VersionConsole
directory. - Compile the
main.cpp
andSchedulingAlgo.hpp
files. - Run the executable.
- Navigate to the
VersionGraphique
directory. - Install the Raylib library as described in the Raylib installation guide.
- Compile the
mainR.cpp
andSchedulingAlgoR.hpp
files, linking them with the Raylib library. - Run the executable.
Here are some screenshots of the project's outputs, both in the console and graphical versions.