Skip to content

NIHIL3D/CPU-Scheduling-Simulation-and-Visualization-Using-Gantt-Diagram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

CPU Scheduling Simulation and Visualization

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.

Table of Contents

Introduction

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).

Features

  • 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.

Technologies

  • C++ for algorithm implementation
  • Raylib for graphical visualization

Usage

  1. Clone this repository to your local machine.
  2. Follow the installation instructions provided in the respective sections.
  3. Choose the appropriate version (console or graphical) and follow the usage instructions for each.

Installation

Console Version

  1. Navigate to the VersionConsole directory.
  2. Compile the main.cpp and SchedulingAlgo.hpp files.
  3. Run the executable.

Graphical Version

  1. Navigate to the VersionGraphique directory.
  2. Install the Raylib library as described in the Raylib installation guide.
  3. Compile the mainR.cpp and SchedulingAlgoR.hpp files, linking them with the Raylib library.
  4. Run the executable.

Examples

Here are some screenshots of the project's outputs, both in the console and graphical versions.

Console Version

Graphical Version

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published