Algorytm planowania okrężnego z przykładem

⚡ Inteligentne podsumowanie

Harmonogramowanie Round-Robin jest najstarszym i najprostszym algorytmem wywłaszczającym procesora, w którym każdy gotowy proces wykonuje się przez ustalony przedział czasu w kolejce cyklicznej, zapewniając sprawiedliwe wykonywanie zadań bez ryzyka ograniczenia wydajności w przypadku wykonywania wielu zadań jednocześnie.

  • 🔄 Definicja: Każde gotowe zadanie jest uruchamiane turowo w ustalonym przedziale czasowym.
  • ⏱️. Kwant czasu: Procesor przełącza procesy po ustalonym odstępie czasu, zwanym kwantem czasu.
  • ⚖️. Uczciwość: Każdy proces otrzymuje taką samą ilość czasu procesora, co pozwala uniknąć braku zasobów.
  • 🧮 Dotyczący pierwokupu: Wywłaszczony proces przesuwa się na koniec kolejki.
  • Zalety: Sprawiedliwy podział, brak efektu konwoju, przewidywalny czas reakcji.
  • ⚠️ Wady: Wydajność zależy od ilości czasu i dodaje obciążenie związane z przełączaniem kontekstu.

Algorytm planowania okrężnego

Co to jest planowanie okrężne?

Nazwa tego algorytmu pochodzi od zasady round-robin, w której każda osoba otrzymuje po kolei równy udział w czymś. Jest to najstarszy i najprostszy algorytm planowania, używany głównie w przypadku wielozadaniowości.

W harmonogramowaniu typu round-robin każde gotowe zadanie jest uruchamiane kolejno w kolejce cyklicznej przez ograniczony czas. Algorytm ten oferuje również wykonywanie procesów bez ryzyka głodowania.

Charakterystyka planowania okrężnego

Oto ważne cechy planowania okrężnego:

  • Round robin jest algorytmem wyprzedzającym.
  • Procesor przełącza się na następny proces po ustalonym odstępie czasu, który nazywa się kwantem czasu/wycinkiem czasu.
  • Proces, który został wywłaszczony, jest dodawany na koniec kolejki.
  • Round robin to model hybrydowy, którego działanie opiera się na zegarze.
  • Przedział czasowy powinien być minimalny i przypisany do konkretnego zadania, które należy wykonać. Może się on jednak różnić w zależności od systemu operacyjnego.
  • Jest to algorytm działający w czasie rzeczywistym, który reaguje na zdarzenia w określonym przedziale czasowym.
  • Metoda kołowa jest jednym z najstarszych, najsprawiedliwszych i najłatwiejszych algorytmów.
  • Jest to powszechnie stosowana metoda planowania w tradycyjnych systemach operacyjnych.

Przykład planowania okrężnego

Rozważmy następujące trzy procesy:

Kolejka procesów Czas wybuchu
P1 4
P2 3
P3 5

Harmonogram okrężny

Krok 1) Wykonywanie rozpoczyna się od procesu P1, którego czas trwania serii wynosi 4. Tutaj każdy proces jest wykonywany przez 2 sekundy. P2 i P3 nadal czekają w kolejce.

Harmonogram okrężny

Krok 2) W chwili = 2 P1 zostaje dodany na koniec kolejki, a wykonywanie P2 rozpoczyna się.

Harmonogram okrężny

Krok 3) W momencie = 4 P2 zostaje wywłaszczony i dodany na koniec kolejki. Rozpoczyna się wykonywanie P3.

Harmonogram okrężny

Krok 4) W momencie = 6 P3 zostaje wywłaszczony i dodany na koniec kolejki. Rozpoczyna się wykonywanie P1.

Harmonogram okrężny

Krok 5) W chwili = 8 P1 ma czas trwania serii równy 4. Zakończono wykonywanie. P2 rozpoczyna wykonywanie.

Harmonogram okrężny

Krok 6) P2 ma czas burst równy 3. Wykonał już 2 interwały. W czasie = 9, P2 kończy wykonywanie. Następnie P3 rozpoczyna wykonywanie, aż do jego zakończenia.

Harmonogram okrężny

Krok 7) Obliczmy średni czas oczekiwania dla powyższego przykładu.

Wait time
P1 = 0 + 4 = 4
P2 = 2 + 4 = 6
P3 = 4 + 3 = 7

Zalety harmonogramowania typu round-robin

Oto zalety i korzyści metody harmonogramowania Round-robin:

  • Nie dotyczy go problem głodu ani efektu konwoju.
  • Wszystkie zadania otrzymują sprawiedliwy przydział procesora.
  • Zajmuje się wszystkimi procesami bez żadnego priorytetu.
  • Jeśli znasz całkowitą liczbę procesów w kolejce wykonywania, możesz także założyć najgorszy czas odpowiedzi dla tego samego procesu.
  • Ta metoda harmonogramowania nie zależy od czasu burst. Dlatego jest łatwa do wdrożenia w systemie.
  • Gdy proces jest wykonywany przez określony czas, proces jest wywłaszczany i przez ten określony okres wykonywany jest inny proces.
  • Umożliwia systemowi operacyjnemu wykorzystanie metody przełączania kontekstu w celu zapisania stanów procesów przejętych.
  • Zapewnia najlepszą wydajność pod względem średniego czasu reakcji.

Wady planowania okrężnego

Oto wady/przeciwskazania związane z wykorzystaniem harmonogramu Round-robin:

  • Jeśli czas podziału systemu operacyjnego jest krótki, wydajność procesora ulegnie zmniejszeniu.
  • Ta metoda poświęca więcej czasu na przełączanie kontekstu.
  • Jego działanie w dużym stopniu zależy od kwantu czasu.
  • Nie można ustalać priorytetów dla procesów.
  • Harmonogramowanie typu round-robin nie nadaje specjalnego priorytetu ważniejszym zadaniom.
  • Zmniejsza zrozumienie.
  • Niższy kwant czasu skutkuje większym obciążeniem systemu związanym z przełączaniem kontekstu.
  • Znalezienie właściwego kwantowego czasu w tym systemie jest zadaniem wyjątkowo trudnym.

Najgorsze opóźnienie w przypadku

Terminem tym określa się maksymalny czas realizacji wszystkich zadań.

  • dt = Oznacza czas wykrycia, gdy zadanie zostanie umieszczone na liście
  • st = oznacza czas przełączania z jednego zadania na drugie
  • et = oznacza czas wykonania zadania

Wzór:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

FAQ

Kwant czasu, czyli wycinek czasu, to stały czas procesora potrzebny każdemu procesowi przed jego wywłaszczeniem. Zbyt duży zachowuje się jak FCFS; zbyt mały powoduje duże obciążenie związane z przełączaniem kontekstu.

FCFS uruchamia każdy proces do końca w kolejności nadejścia i nie jest wywłaszczający. Round Robin jest wywłaszczający: przydziela każdemu procesowi stały przedział czasowy i cyklicznie przechodzi przez kolejkę, skracając czas reakcji i zapobiegając blokowaniu innych zadań przez długie zadania.

Ponieważ każdy proces jest umieszczany w kolejce cyklicznej i otrzymuje stały przedział czasu. Żaden proces nie jest pomijany ani opóźniany w nieskończoność, więc każdy proces ostatecznie otrzymuje czas procesora, niezależnie od jego długości czy kolejności nadejścia.

Sztuczna inteligencja i uczenie maszynowe mogą przewidywać zachowanie procesów i wzorce obciążenia pracą, aby dostosowywać decyzje dotyczące harmonogramowania w czasie rzeczywistym. Zamiast sztywnej polityki, system może dynamicznie dostosowywać priorytety i przedziały czasowe, poprawiając wykorzystanie procesora, przepustowość i czas reakcji.

Tak. Modele AI mogą analizować przeszłe czasy burstów i obciążenie systemu, aby sugerować optymalny kwant czasu i dostosowywać go do zmieniających się warunków. Pozwala to lepiej zrównoważyć obciążenie związane ze zmianą kontekstu z czasem reakcji niż pojedyncza stała wartość.

Podsumuj ten post następująco: