|
| | MlfqPolicy (std::vector< std::size_t > levelTimeSlices={1, 2, 4}) |
| | Constructs MLFQ policy.
|
| std::string_view | name () const noexcept override |
| | Policy name.
|
| ProcessId | selectNext (const std::vector< std::reference_wrapper< const PCB > > &readyQueue, const IClock &clock) const override |
| | Selects next process according to MLFQ level ordering.
|
| bool | shouldPreempt (const PCB &running, const PCB &candidate, const IClock &clock) const override |
| | Returns true when running process should be preempted.
|
| const std::vector< std::size_t > & | levelTimeSlices () const noexcept |
| | Configured level time slices.
|
| virtual | ~ISchedulingPolicy ()=default |
Multilevel Feedback Queue (MLFQ) scheduling policy.
Classifies processes across multiple priority levels with distinct time slices and adapts scheduling behavior from runtime feedback.
Definition at line 17 of file mlfq_policy.h.