45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
# Scheduler Simulation
|
|
|
|
This project simulates how a scheduler runs processes on a processor with one CPU and two CPUs. The scheduler can be executed for single-core and multi-core setups.
|
|
|
|
## File Structure
|
|
|
|
```
|
|
├── src/ # Source files
|
|
│ ├── scheduler.cpp
|
|
│ ├── multi_core_scheduler.cpp
|
|
├── bin/ # Executables (generated after build)
|
|
├── doc/ # Assignment documentation
|
|
└── WorkloadFiles/ # Workload files
|
|
```
|
|
|
|
|
|
## Compilation and Execution
|
|
|
|
To build and run the simulations, use the following commands:
|
|
|
|
### Single-Core Scheduler
|
|
1. **Build the single-core scheduler**:
|
|
```bash
|
|
make build-sched
|
|
```
|
|
2. **Run the single-core scheduler**:
|
|
```bash
|
|
make run-sched WF=<workload_file> SA=<scheduling_algorithm>
|
|
```
|
|
|
|
### Multi-Core Scheduler
|
|
1. **Build the multi-core scheduler**:
|
|
```bash
|
|
make build-sched-multi
|
|
```
|
|
2. **Run the multi-core scheduler**:
|
|
```bash
|
|
make run-sched-multi WF=<workload_file> SA=<scheduling_algorithm>
|
|
```
|
|
|
|
### Clean
|
|
To remove the compiled binaries:
|
|
```bash
|
|
make clean
|