Multilevel Feedback Queue
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
[redigera | redigera wikitext]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...