Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/emnaghz/process-scheduler

Mini project designed to simulate process scheduling algorithms and provide insights into the performance of these algorithms.
https://github.com/emnaghz/process-scheduler

algorithms c makefile qtdesigner

Last synced: about 1 month ago
JSON representation

Mini project designed to simulate process scheduling algorithms and provide insights into the performance of these algorithms.

Awesome Lists containing this project

README

        

# Project Title
Process Scheduler Project

## Table of Contents

- [Overview](#overview)
- [Getting Started](#getting-started)
- [Cloning the Repository](#cloning-the-repository)
- [Building the Project](#building-the-project)
- [Generating Processes File](#generating-processes-file)
- [Running the Code with Generated Processes](#running-the-code-with-generated-processes)
- [Result](#result)
- [Usage](#usage)

## Overview

This project is designed to simulate process scheduling algorithms and provide insights into the performance of these algorithms. Follow the steps below to execute the program successfully.

## Getting Started
### Cloning the Repository

Clone the repository to your local machine:
```
git clone [repo_url]
```
Navigate to the project directory:
```
cd /file_path
```
### Building the Project
Ensure the necessary binaries are generated by running the following command:
```
./make
```

### Generating Processes File
There are two ways to generate your Random processes:
- Console : Compile and execute the generateRandomProcesses.c program as follow
```
gcc -o generateRandomProcesses generateRandomProcesses.c
chmod a+x generateRandomProcesses
./generateRandomProcesses
```
- Interface: Qt Designer
first make sure to have python installed in your device then install the necessary dependencies as follow:
```
sudo apt-get install python3-pip
sudo apt-get install python3
pip install PyQt5
pip install PyQt5-tools
sudo apt install qttools5-dev-tools
```
Now you can execute the following command to run the interface:
```
python3 code.py
```

And now you are ready to generate you file

![](images/img1.png "Figure 1 :Generate Processes")

### Running the Code and Executing scheduling algorithms
Now, you can execute the main program with the generated processes.txt file:
```
./main ./processes.txt
```
Follow on-screen prompts to select a scheduling algorithm.

![](images/img4.png "Algorithms Menu")

### Result
Upon completion, the program will display:

- Processes Table
- Turnaround data
- Gantt chart of the chosen algorithm

Interact with the program as instructed on the console.
Exemple of execution with FIFO algorithm

![](images/img2.png "Figure 2 : processes.txt file")

![](images/img3.png "Figure 3 : FIFO Algorithm execution")

![](images/img5.png "Figure 4 : Priority Algorithm execution")

![](images/img6.png "Figure 5 : Round Robin Algorithm execution")

![](images/img7.png "Figure 6 : SRT Algorithm execution")