https://github.com/hacke-rc/mlfq
A SQMS-ish based scheduler.
https://github.com/hacke-rc/mlfq
cpu-scheduler mlfq multilevel os-scheduler scheduler
Last synced: about 1 year ago
JSON representation
A SQMS-ish based scheduler.
- Host: GitHub
- URL: https://github.com/hacke-rc/mlfq
- Owner: HACKE-RC
- License: gpl-3.0
- Created: 2024-04-03T13:40:00.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-04T16:58:19.000Z (about 2 years ago)
- Last Synced: 2025-03-28T20:48:24.737Z (about 1 year ago)
- Topics: cpu-scheduler, mlfq, multilevel, os-scheduler, scheduler
- Language: C++
- Homepage: https://github.com/HACKE-RC/OptimistOS
- Size: 99.6 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SQMS
This is a Single Queue Management System (SQMS) *based* scheduler implementation in C++. It does uses First-Come-First-Serve for simplicity and leaves the quanta checks to the impementer.
The execution of the threads is also left to the implementer using an empty function [execute](https://github.com/HACKE-RC/MLFQ/blob/3a94529557fd3fee67b7ee5c296c5b27d87a300e/src/scheduler.cpp#L69).
The following function need to be implementer defined:
- [getQuanta](https://github.com/HACKE-RC/MLFQ/blob/3a94529557fd3fee67b7ee5c296c5b27d87a300e/src/scheduler.cpp#L72)
- [changePriority](https://github.com/HACKE-RC/MLFQ/blob/3a94529557fd3fee67b7ee5c296c5b27d87a300e/src/scheduler.cpp#L76)
- [getProcessorCount](https://github.com/HACKE-RC/MLFQ/blob/3a94529557fd3fee67b7ee5c296c5b27d87a300e/src/scheduler.cpp#L64)
# Building tests
The following command can be used to build the given test(s)
```
cmake .
make
```
The files are building can be found in the `build` directory.
# Status
Borderline incomplete, I may add more stuff later.