36 lines
878 B
Markdown
36 lines
878 B
Markdown
# CS3502 Project 2: CPU Scheduling Simulation
|
|
|
|
This directory contains a simulator for various CPU scheduling algorithms.
|
|
|
|
## Compilation
|
|
|
|
If you have [Nix](https://nixos.org/) installed:
|
|
|
|
```sh
|
|
nix run .#cpu-schedulers
|
|
```
|
|
|
|
Otherwise, the code may be compiled using GNU Make:
|
|
|
|
``` sh
|
|
make
|
|
./build/cpu-schedulers
|
|
```
|
|
|
|
## Usage
|
|
|
|
This program supports seven scheduling algorithms:
|
|
|
|
- `sjf` - Shortest Job First
|
|
- `fcfs` - First Come First Serve
|
|
- `roundrobin` - Round Robin
|
|
- `priority` - Priority Queue
|
|
- `priorityaging` - Priority Queue with Aging
|
|
- `lottery` - Lottery
|
|
- `srtf` - Shortest Remaining Time First
|
|
|
|
The `compare` option can also be entered to run all schedulers at once.
|
|
|
|
Test data must be entered by the user; all time values must be given in
|
|
integers. Flags include `-v` for verbose debug output, and `-m` for
|
|
machine-readable output (prints data in CSV format).
|