Den här artikeln behöver källhänvisningar för att kunna verifieras. (2023-07) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Multilevel Feedback Queue (MFQ) kan på svenska översättas till "flernivåskö med återkoppling" och är en schemaläggningsalgoritm som används inom datavetenskap.
Algoritmen fungerar så att alla processer blir placerade i en kö baserat på den prioritet den har. Första processen i kön får sedan köra en viss tidsperiod. När denna tidsperiod uppnåtts flyttas inte processen längst bak i kön, som i fallet med Round Robin, utan placeras in i kön på den plats där dess ursprungliga prioritet placerar den. Därefter ökas alla processers prioriteter på med ett och nästa process får köra.
Exempel
Fyra processer har olika prioriteter och ska köra:
Process | Ursprungsprioritet | Prioritet |
---|---|---|
5 | 5 | |
4 | 4 | |
3 | 3 | |
1 | 1 |
kör först en stund. Sedan ökas alla prioriteter på och sätts in igen, fortfarande på första plats:
Process | Ursprungsprioritet | Prioritet |
---|---|---|
5 | 5 | |
4 | 5 | |
3 | 4 | |
1 | 2 |
Efter att fått köra igen ökas alla prioriteter på igen, och sätts in. Nu hamnar den däremot på andra plats, och får därför köra.
Process | Ursprungsprioritet | Prioritet |
---|---|---|
4 | 6 | |
5 | 5 | |
3 | 5 | |
1 | 3 |
Därefter ökas prioriteterna, och hamnar ända nere på 3:je plats. får köra igen.
Process | Ursprungsprioritet | Prioritet |
---|---|---|
5 | 6 | |
3 | 6 | |
4 | 4 | |
1 | 4 |
Och så vidare. Resultatet kommer att bli följande ordning:
, , , , , , , , , osv...