This project extends the functionality of the OS Scheduler to include advanced CPU scheduling algorithms and dynamic memory allocation, providing a comprehensive simulation of an operating system. The implementation showcases strong proficiency in C programming, emphasizing intricate algorithmic design and effective data structure utilization for both CPU and memory management.
- Non-preemptive Highest Priority First (HPF).
- Shortest Remaining Time Next (SRTN).
- Round Robin (RR).
- First Fit.
- Buddy Memory Allocation.
- Process Generator: Simulates process creation, reads input files, and initiates scheduler and clock processes.
- Clock Module: Emulates an integer time clock.
- Scheduler: Core component managing processes, states, and execution based on scheduling algorithms.
- Process: Represents CPU-bound processes and notifies the scheduler upon termination.
Compile the source files using your preferred C compiler.
Run the compiled executable.
Provide process details in the processes.txt
file.
Review the generated output files (scheduler.log
, scheduler.perf
, memory.log
) for detailed simulation results.