Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arxiver/visual-os-scheduler
Operating systems scheduling algorithms visualization.
https://github.com/arxiver/visual-os-scheduler
algorithm algorithms algorithms-implemented cpu graphs matplotlib operating operating-system operating-systems-learning operating-systems-project operating-systems-tutorials os-scheduler priority round-robin scheduling-algorithms tkinter
Last synced: about 16 hours ago
JSON representation
Operating systems scheduling algorithms visualization.
- Host: GitHub
- URL: https://github.com/arxiver/visual-os-scheduler
- Owner: arxiver
- License: gpl-3.0
- Created: 2020-01-19T11:17:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-01T19:13:50.000Z (about 1 year ago)
- Last Synced: 2024-05-21T08:59:47.577Z (6 months ago)
- Topics: algorithm, algorithms, algorithms-implemented, cpu, graphs, matplotlib, operating, operating-system, operating-systems-learning, operating-systems-project, operating-systems-tutorials, os-scheduler, priority, round-robin, scheduling-algorithms, tkinter
- Language: Python
- Size: 265 KB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OS-Scheduler
Operating systems scheduling algorithms visualization.
it is an OS scheduler using different scheduling algorithms
### Getting Started
These instructions will get you a copy of the project up and running on your local machine for develoment.
pip install requirements.txt
pip install tkinter
python scheduler.py### Requirements
What things you need to install ?
- matplotlib
- tkinter
- numpy
### How to use?
NB - you must have an input file contains the process to be scheduled . its format is at docs/document file
1. Start the program
2. Choose an input file
3. Select the algorithm using the scrolling box .
4. Click on Show/Update Graph .scheduler module is responsible for generating a schedule for the current processes in the system to specify the
CPU usage by these processes.
implemented 4 scheduling algorithms:
1. Non-Preemptive Highest Priority First.(HPF)
2. First Come First Served. (FCFS)
3. Round Robin with fixed time quantum.(RR)
4. Preemptive Shortest Remaining Time Next.(SRTN)Library used for GUI : Tkinter
Library used for plots : matplotlib
Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling
The following output graphs is for inputfile at (testcases/SheetQuestion.txt)0 indicates that the cpu is free
-1 indicates that the context switching
![Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling](docs/front.png)
### 1. First come first served
![Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling](docs/FCFS.png)
### 2. High priority first
![Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling](docs/HPF.png)
### 3. Round Robin
![Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling](docs/RR.png)
### 4. Short remaining time next
![Startup window for selecting (Input file) and (Selecting an algorithm to draw its corresponding scheduling](docs/SRTN.png)### Authors
- [@MOKHTAR](https://github.com/rrrokhtar)