MLFQ Qs Flashcards
Chapter 8 of Operating Systems : Three Easy Pieces
What is the primary goal of the MLFQ scheduling algorithm?
priorities
prioritizing interactive processes while ensuring fairness and responsiveness to all processes
In an MLFQ system, where is a new process initially placed?
in the highest-priority queue, assuming it might be interactive and deserving of fast response time
How does MLFQ prevent starvation of low-priority processes?
priority boosts, all processes are periodically moved to higher-priority queues
What happens to a process in MLFQ as it uses up its time quanta without completing?
it is demoted to a lower-priority queue, assuming it is more CPU-bound
What is a key characteristic of MLFQ?
processes are moved between queues based on their behavior, making it a dynamic and adaptive scheduler
How does MLFQ typically handle interactive(I/O-bound) processes compared to CPU-bound processes?
interactive processes are prioritized in higher-priority queues, ensuring faster response times, while CPU-bound processes are gradually moved to lower-priority queues
What is the purpose of the “gaming prevention” mechanism in MLFQ?
prevents processes from manipulating their priority by intentionally yielding the CPU before their time quanta is fully used
In a typical MLFQ implementation, how does the time quanta change as priority decreases?
the time quanta increases, allowing CPU-bound processes more time to run in the lower-priority queues without frequent context switching
What happens during a priority boost in MLFQ?
all processes are moved to the highest-priority queue, preventing starvation
How does MLFQ handle long-running CPU-bound processes over time?
gradually demoted to lower-priority queues where they’re given longer time quanta but lower scheduling priority
What is a potential disadvantage of MLFQ compared to similar scheduling algorithms?
its complexity in implementation and tuning; the need to set parameters like number of queues, time quanta for each queue, priority boost intervals