https://github.com/vic-lsh/os-scheduler
Operating Systems Lab: Scheduler
https://github.com/vic-lsh/os-scheduler
os scheduling
Last synced: 2 months ago
JSON representation
Operating Systems Lab: Scheduler
- Host: GitHub
- URL: https://github.com/vic-lsh/os-scheduler
- Owner: vic-lsh
- License: mit
- Created: 2019-02-20T23:41:20.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-13T19:53:37.000Z (about 6 years ago)
- Last Synced: 2025-01-25T13:07:35.405Z (4 months ago)
- Topics: os, scheduling
- Language: C++
- Homepage:
- Size: 1.06 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Lab 2: Scheduling
1. FCFS: queue
2. RR w/ quantum 2
3. Uniprogrammed
4. Shortest Job First (SJF)## Getting started
To compile the program, do:
```
cd src
make
```
Then, to run the program, do:
```
../bin/exec ../test/in/input-x // where x is the input number
../bin/exec --verbose ../test/in/input-x // display detailed output
../bin/exec --show-random ../test/in/input-x // display randomOS() output
```## Project architecture
The project is in the `/src` folder. The project starting point is `main.cc`, and compiled by `makefile`. All symbols are stored under namespace `Scheduler`. Scheduling algorithms, in `/scheduler`, manipulates processes of class `Process` defined in `/process`.
```
.
├── header.h
├── main.cc
├── makefile
├── process // The process class
│ ├── process.cc
│ └── process.h
├── random-numbers.txt
├── scheduler // Scheduling algorithms
│ ├── scheduler.cc
│ └── scheduler.h
└── utils // Supporting services
├── compproc.cc // Comparing processes
├── printer.cc // Scheduler output
├── randnum // Random Number Accessor
│ ├── randnum.cc
│ └── randnum.h
├── schedutil.h
├── statcalc.cc
└── util.cc
```