Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/emnaghz/process-scheduler
- Owner: Emnaghz
- Created: 2024-03-18T13:04:06.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-18T13:08:28.000Z (10 months ago)
- Last Synced: 2024-11-29T12:45:58.712Z (about 2 months ago)
- Topics: algorithms, c, makefile, qtdesigner
- Language: C
- Homepage:
- Size: 208 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 RepositoryClone 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 algorithmInteract 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")