This project simulates a CPU scheduler.
The scheduler component implements the following three scheduling algorithms:
- Non-preemptive Highest Priority First (HPF)
- Shortest Remaining Time Next (SRTN)
- Round Robin (RR)
- First Fit:
- Scans available memory blocks.
- Allocates the first block large enough for the process.
- Buddy Memory Allocation:
- Divides total memory into powers-of-two blocks.
- Allocates the smallest available block for the process.
- Splits blocks into buddies if needed.
- Merges neighboring free blocks after de-allocation.
- Input File (
processes.txt
) - Output Files:
scheduler.log
scheduler.perf
- Compilation:
make
- Execution:
make run