Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/engineermichael/cpu-scheduling-software-engineering-
⎔ Red Robin CPU Scheduling Application
https://github.com/engineermichael/cpu-scheduling-software-engineering-
cpu-scheduling-algorithms python
Last synced: 17 days ago
JSON representation
⎔ Red Robin CPU Scheduling Application
- Host: GitHub
- URL: https://github.com/engineermichael/cpu-scheduling-software-engineering-
- Owner: EngineerMichael
- License: gpl-3.0
- Created: 2018-03-12T20:30:21.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T03:23:22.000Z (29 days ago)
- Last Synced: 2024-12-23T04:23:16.853Z (29 days ago)
- Topics: cpu-scheduling-algorithms, python
- Language: Python
- Homepage:
- Size: 36.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Round Robin CPU Scheduling Algorithm
Name: Michael
## Project ScopeThe goal of the project is implementation of the Round Robin algorithm with different time quantum in order to demonstrate how much CPU resources can be used and how process will be executed according to different time quantum.
## Setup
The program is made in Python 2.7, in order to run make sure that Python is installed. The program can be ran through either an IDE or command line. Make sure you have proper Python version installed otherwise there will be errors.
## Input
The input is a csv file that has a format like below and time quantum. Pic below is just an example of what the csv file should look like.
| Process ID | Arrival Time | Burst Time |
| :--------- | :----------: | ---------: |
| 1 | 0 | 5 |
| 2 | 1 | 7 |
| 3 | 2 | 9 |## Execution
Open the terminal, run ``` cd RoundRobin ```, and run the command below. Make sure that you add the path to the CSV file and the time quantum you would like to use
```
#tq = 5 and process.csv is the path
$ python main.py process.csv 5
```## Output
Adding the process to the process List
| ID: 1 | Burst Time: 5 | Arrival Time: 0 |
| :----- | :------------- | ---------------- |
| ID: 2 | Burst Time: 7 | Arrival Time: 1 |
| ID: 3 | Burst Time: 9 | Arrival Time: 2 |Simulation
| ID: 1 | Start: 0 | End: 4 | Time Left: 1 |
| :---- | :-------- | ------- | ------------ |
| ID: 2 | Start: 4 | End: 8 | Time Left: 3 |
| ID: 3 | Start: 8 | End: 12 | Time Left: 5 |
| ID: 1 | Start: 12 | End: 13 | Time Left: 0 |
| ID: 2 | Start: 13 | End: 16 | Time Left: 0 |
| ID: 3 | Start: 16 | End: 20 | Time Left: 1 |
| ID: 1 | Start: 20 | End: 21 | Time Left: 0 |## Next Steps
Implementation of other CPU Scheduling Algorithms:
- First Come First Serve
- Priority Scheduling
- Short Job FirstGNU General Public License v3.0