The purpose of this project is to gain experience working with CPU scheduling policies. This project requires you to implement/simulate five different scheduling policies given a process workload.
As stated, MLFQ is a new component of this project. Because of that, some parts may be confusing. We will keep this thread open for any important announcements or clarifications related to the project.
Since tick_interval is a float, it can cause issues in computations due to floating point precision errors.`
To prevent this, you must compute the time slice as follows:
float slice = min(tick_interval, p.duration);
Use this slice value when updating the following:`
p.durationp.vruntimep.qruntime