Os-scheduler
Posted on June 01, 2021 - 1 minutes of reading
These algorithms were created to generate a gantt chart with data about the simulation process of the operating system scheduler.
This project aims to create a gantt chart to simulate the scaling processes of the operating system, using algorithms such as FIFO, SJB and Priority. These algorithms order the processes and calculate the waiting time and the total time that each one obtained. Consequentely, it is possible to calculate the average waiting time that each process obtained and verify which algorithm obtained the best performance.
Source code: https://github.com/guisalmeida/OS-Scheduler
🏆 Challenge
-
Write an application, to simulate process scheduling policies in Priority, FIFO and Shortest Job First algorithms.
-
Simulate a process queue where who is using the CPU, still using until finishing the process (Single core).
🗃️ Mock Data
Process | Priority | Duration(ms) | Size(kb) |
---|---|---|---|
Process A | Priority 4 | 2 | 4 |
Process B | Priority 2 | 4 | 2 |
Process C | Priority 1 | 1 | 3 |
Process D | Priority 3 | 2 | 5 |
Process E | Priority 1 | 1 | 5 |
Process F | Priority 5 | 4 | 6 |
Process G | Priority 3 | 2 | 2 |
Process H | Priority 1 | 3 | 1 |
📊 FIFO
📊 Shortest Job First
📊 Priority
🛠️ Technologies
- Python
- Matplotlib: for gantt chart.
- Pandas: for read and write csv files.
- Numpy: for arrange data.