Multilevel Feedback Queue

Från Rilpedia

(Omdirigerad från MFQ)
Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

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

Fyra processer har olika prioriteter och ska köra:

Process Ursprungsprioritet Prioritet
P1 5 5
P2 4 4
P3 3 3
P4 1 1

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

Process Ursprungsprioritet Prioritet
P1 5 5
P2 4 5
P3 3 4
P4 1 2

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

Process Ursprungsprioritet Prioritet
P2 4 6
P1 5 5
P3 3 5
P4 1 3

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

Process Ursprungsprioritet Prioritet
P1 5 6
P3 3 6
P2 4 4
P4 1 4

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

P1, P1, P2, P1, P3, P1, P2, P4, P1, P3 osv...

Personliga verktyg
På andra språk