Co to jest planowanie zapobiegawcze?
Planowanie prewencyjne to metoda planowania, w której zadaniom przypisuje się najczęściej ich priorytety. Czasami ważne jest, aby uruchomić zadanie o wyższym priorytecie przed innym zadaniem o niższym priorytecie, nawet jeśli zadanie o niższym priorytecie jest nadal uruchomione.
W tym czasie zadanie o niższym priorytecie jest przez pewien czas utrzymywane i wznawiane, gdy zadanie o wyższym priorytecie zakończy się.
W tym samouczku dotyczącym systemu operacyjnego dowiesz się:
- Co to jest planowanie zapobiegawcze?
- Co to jest planowanie bez wyprzedzania?
- Różnica między planowaniem prewencyjnym a nie wywłaszczającym w systemie operacyjnym
- Zalety planowania zapobiegawczego
- Zalety planowania bez wywłaszczania
- Wady planowania zapobiegawczego
- Wady planowania bez wywłaszczania
- Przykład planowania bez wywłaszczania
- Przykład planowania z wywłaszczaniem
Co to jest planowanie bez wyprzedzania?
W tego typu metodach planowania procesor został przydzielony do określonego procesu. Proces, który sprawia, że procesor jest zajęty, zwalnia go przez przełączenie kontekstu lub zakończenie.
Jest to jedyna metoda, której można używać na różnych platformach sprzętowych. Dzieje się tak, ponieważ nie wymaga specjalistycznego sprzętu (na przykład timera), takiego jak planowanie zapobiegawcze.
Planowanie bez wywłaszczania ma miejsce, gdy proces dobrowolnie przechodzi w stan oczekiwania lub kończy się.
Różnica między planowaniem prewencyjnym a nie wywłaszczającym w systemie operacyjnym
Tutaj są Preemptive i Non-Preemptive Scheduling w systemie operacyjnym
Planowanie prewencyjne | Planowanie bez wywłaszczania |
Procesor może zostać wywłaszczony, aby wykonywał różne procesy w trakcie wykonywania dowolnego bieżącego procesu. | Gdy procesor rozpocznie wykonywanie, musi je zakończyć przed wykonaniem drugiego. Nie można go zatrzymać w środku. |
Wykorzystanie procesora jest bardziej wydajne w porównaniu z planowaniem bez wywłaszczania. | Wykorzystanie procesora jest mniej wydajne w porównaniu z planowaniem prewencyjnym. |
Oczekiwanie i czas odpowiedzi planowania zapobiegawczego jest krótszy. | Czas oczekiwania i czas odpowiedzi w przypadku metody planowania bez wywłaszczania jest dłuższy. |
Priorytet ma planowanie zapobiegawcze. Proces o najwyższym priorytecie to proces, który jest obecnie stosowany. | Gdy jakikolwiek proces przechodzi w stan działania, stan tego procesu nie jest nigdy usuwany z programu planującego, dopóki nie zakończy swojego zadania. |
Planowanie prewencyjne jest elastyczne. | Planowanie bez wyprzedzania jest sztywne. |
Przykłady: - Najpierw najkrótszy pozostały czas, cykl roboczy itp. | Przykłady: „kto pierwszy, ten lepszy”, „Najpierw najkrótsza praca”, planowanie priorytetów itp. |
Algorytm planowania prewencyjnego może być uprzedzony, czyli proces można zaplanować | W planowaniu bez wywłaszczania nie można zaplanować procesu |
W tym procesie procesor jest przydzielany do procesów na określony czas. | W tym procesie procesor jest przydzielany do procesu do czasu jego zakończenia lub przejścia w stan oczekiwania. |
Algorytm wyprzedzający ma narzut polegający na przełączaniu procesu ze stanu gotowości do stanu pracy i odwrotnie. | Planowanie bez wywłaszczania nie ma takiego narzutu związanego z przełączaniem procesu ze stanu gotowości. |
Zalety planowania zapobiegawczego
Oto zalety / zalety metody planowania prewencyjnego:
- Prewencyjna metoda planowania jest bardziej niezawodna, więc jeden proces nie może zmonopolizować procesora
- Wybór uruchomionego zadania ponownie rozważany po każdej przerwie.
- Każde zdarzenie powoduje przerwanie uruchomionych zadań
- System operacyjny zapewnia, że użycie procesora jest takie samo we wszystkich uruchomionych procesach.
- W tym przypadku użycie procesora jest takie samo, tj. Wszystkie uruchomione procesy będą korzystać z procesora w równym stopniu.
- Ta metoda planowania improwizuje również średni czas odpowiedzi.
- Planowanie prewencyjne jest korzystne, gdy używamy go w środowisku wieloprogramowym.
Zalety planowania bez wywłaszczania
Oto zalety / zalety metody planowania bez wywłaszczania:
- Zapewnia niskie koszty związane z harmonogramowaniem
- Zwykle oferuje wysoką przepustowość
- Jest to koncepcyjnie bardzo prosta metoda
- Do planowania potrzeba mniej zasobów obliczeniowych
Wady planowania zapobiegawczego
Oto wady / wady metody planowania prewencyjnego:
- Potrzebujesz ograniczonych zasobów obliczeniowych do planowania
- Planista potrzebuje więcej czasu na zawieszenie uruchomionego zadania, zmianę kontekstu i wysłanie nowego przychodzącego zadania.
- Proces, który ma niski priorytet, musi czekać dłużej, jeśli niektóre procesy o wysokim priorytecie będą przychodzić w sposób ciągły.
Wady planowania bez wywłaszczania
Oto wady / wady metody planowania bez wywłaszczania:
- Może to prowadzić do głodu, zwłaszcza w przypadku zadań wykonywanych w czasie rzeczywistym
- Błędy mogą powodować zawieszanie się maszyny
- Może to utrudniać planowanie w czasie rzeczywistym i według priorytetów
- Słaby czas odpowiedzi procesów
Przykład planowania bez wywłaszczania
W planowaniu bez wywłaszczania SJF, gdy cykl procesora zostanie przydzielony do procesu, proces wstrzymuje go, aż osiągnie stan oczekiwania lub zostanie zakończony.
Rozważ następujące pięć procesów, z których każdy ma swój własny, niepowtarzalny czas wybuchu i czas przybycia.
Kolejka procesów | Czas wybuchu | Czas przybycia |
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Krok 0) W czasie = 0, P4 przybywa i rozpoczyna wykonywanie.
Krok 1) W czasie = 1 nadejdzie proces P3. Ale P4 nadal potrzebuje 2 jednostek wykonawczych do ukończenia. Będzie kontynuowana.
Krok 2) W czasie = 2 przychodzi proces P1 i jest dodawany do kolejki oczekiwania. P4 będzie kontynuował wykonywanie.
Krok 3) W czasie = 3 proces P4 zakończy wykonywanie. Porównuje się czas rozerwania P3 i P1. Proces P1 jest wykonywany, ponieważ jego czas burst jest krótszy w porównaniu do P3.
Krok 4) W czasie = 4 przychodzi proces P5 i jest dodawany do kolejki oczekiwania. P1 będzie kontynuował wykonywanie.
Krok 5) W czasie = 5 przychodzi proces P2 i jest dodawany do kolejki oczekiwania. P1 będzie kontynuował wykonywanie.
Krok 6) W czasie = 9 proces P1 zakończy wykonywanie. Porównuje się czas rozerwania P3, P5 i P2. Proces P2 jest wykonywany, ponieważ jego czas burst jest najniższy.
Krok 7) W czasie = 10, P2 wykonuje, a P3 i P5 znajdują się w kolejce oczekiwania.
Krok 8) W czasie = 11 proces P2 zakończy wykonywanie. Porównuje się czas rozerwania P3 i P5. Proces P5 jest wykonywany, ponieważ jego czas burst jest krótszy.
Krok 9) W czasie = 15 proces P5 zakończy wykonywanie.
Krok 10) W czasie = 23 proces P3 zakończy wykonywanie.
Krok 11) Obliczmy średni czas oczekiwania dla powyższego przykładu.
Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2
Przykład planowania z wywłaszczaniem
Rozważ to, wykonując trzy procesy w programie Round-robin
Kolejka procesów | Czas wybuchu |
P1 | 4 |
P2 | 3 |
P3 | 5 |
Krok 1) Wykonywanie rozpoczyna się od procesu P1, który ma czas impulsu 4. Tutaj każdy proces jest wykonywany przez 2 sekundy. P2 i P3 nadal czekają w kolejce.
Krok 2 ) W momencie = 2, P1 jest dodawane na końcu kolejki i P2 rozpoczyna wykonywanie
Krok 3) W momencie = 4, P2 jest wywłaszczany i dodawany na końcu kolejki. P3 rozpoczyna wykonywanie.
Krok 4) W momencie = 6, P3 jest wywłaszczany i dodawany na końcu kolejki. P1 rozpoczyna wykonywanie.
Krok 5) W czasie = 8, czas impulsu P1 wynosi 4. Wykonanie zostało zakończone. P2 rozpoczyna wykonywanie
Krok 6) P2 ma czas trwania impulsu równy 3. Został już wykonany przez 2 interwały. W czasie = 9, P2 kończy wykonywanie. Następnie P3 rozpoczyna wykonywanie, aż do zakończenia.
Krok 7) Obliczmy średni czas oczekiwania dla powyższego przykładu.
Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7
KLUCZOWE RÓŻNICE
- W przypadku planowania z wywłaszczaniem, procesor jest przydzielany do procesów na określony czas, a procesor z planowaniem nie wywłaszczającym jest przydzielany procesowi do czasu jego zakończenia.
- W planowaniu z wywłaszczaniem, zadania są przełączane na podstawie priorytetu, podczas gdy w harmonogramie nie wywłaszczającym przełączanie nie ma miejsca.
- Algorytm wywłaszczający ma narzut związany z przełączaniem procesu ze stanu gotowości do stanu pracy, podczas gdy planowanie bez wywłaszczania nie ma takiego narzutu przełączania.
- Planowanie z wyprzedzeniem jest elastyczne, podczas gdy planowanie bez wyprzedzania jest sztywne.