Kolejka wielopoziomowa

Kolejkowanie wielopoziomowe , stosowane co najmniej od późnych lat pięćdziesiątych i wczesnych sześćdziesiątych XX wieku, to kolejka o z góry określonej liczbie poziomów. Elementy są przypisywane do określonego poziomu przy wstawianiu (za pomocą jakiegoś predefiniowanego algorytmu), a zatem nie można ich przenieść na inny poziom (w przeciwieństwie do wielopoziomowej kolejki zwrotnej ). Przedmioty są usuwane z kolejki poprzez usunięcie wszystkich elementów z poziomu, a następnie przejście do następnego. Jeśli element zostanie dodany na wyższy poziom, „pobieranie” rozpocznie się od tego poziomu. Każdy poziom kolejki może swobodnie korzystać z własnego harmonogramu , co zapewnia większą elastyczność niż posiadanie wielu poziomów w kolejce.

Planowanie procesów

wielopoziomowego planowania kolejek jest używany w scenariuszach, w których procesy można podzielić na grupy na podstawie właściwości, takich jak typ procesu, czas procesora, dostęp do operacji we/wy, rozmiar pamięci itp. Ogólną klasyfikacją procesów są procesy pierwszoplanowe i procesy w tle. W wielopoziomowym algorytmie szeregowania kolejek będzie „n” kolejek, gdzie „n” to liczba grup, do których sklasyfikowane są procesy. Każda kolejka otrzyma priorytet i będzie miała własny algorytm planowania, taki jak planowanie okrężne lub FCFS . Aby proces w kolejce mógł się wykonać, wszystkie kolejki o wyższym priorytecie powinny być puste, co oznacza, że ​​proces w tych kolejkach o wysokim priorytecie powinien zakończyć swoje wykonanie. W tym algorytmie szeregowania, raz przydzielony do kolejki, proces nie zostanie przeniesiony do żadnej innej kolejki.

Rozważ poniższą tabelę z czasem przybycia, czasem wykonania i typem procesu (na pierwszym planie lub w tle - gdzie procesy na pierwszym planie mają wysoki priorytet), aby zrozumieć dogłębne planowanie wielopoziomowe bez wywłaszczania i z wywłaszczaniem za pomocą algorytmu FCFS dla obu kolejek :

Nazwa procesu Czas przybycia Czas wykonania Typ
P0 0 5 Pierwszoplanowy
P1 1 8 Tło
P2 3 7 Tło
P3 4 3 Pierwszoplanowy
P4 5 3 Pierwszoplanowy
P5 8 11 Tło
P6 15 3 Pierwszoplanowy
P7 25 4 Pierwszoplanowy
Non pre-emptive and pre-emptive multi-level queue scheduling

Zobacz też