Multilevel Feedback Queue

Från Wikipedia
Hoppa till: navigering, sök

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 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
P_1 5 5
P_2 4 4
P_3 3 3
P_4 1 1

P_1 kör först en stund. Sedan ökas alla prioriteter på och P_1 sätts in igen, fortfarande på första plats:

Process Ursprungsprioritet Prioritet
P_1 5 5
P_2 4 5
P_3 3 4
P_4 1 2

Efter att P_1 fått köra igen ökas alla prioriteter på igen, och P_1 sätts in. Nu hamnar den däremot på andra plats, och P_2 får därför köra.

Process Ursprungsprioritet Prioritet
P_2 4 6
P_1 5 5
P_3 3 5
P_4 1 3

Därefter ökas prioriteterna, och P_2 hamnar ända nere på 3:je plats. P_1 får köra igen.

Process Ursprungsprioritet Prioritet
P_1 5 6
P_3 3 6
P_2 4 4
P_4 1 4

Och så vidare. Resultatet kommer att bli följande ordning:

P_1, P_1, P_2, P_1, P_3, P_1, P_2, P_4, P_1, P_3 osv...