Planowanie z wywłaszczaniem i bez wywłaszczania
Kluczowe różnice między planowaniem z wywłaszczaniem i bez wywłaszczania
- W przypadku planowania z wywłaszczaniem procesor jest przydzielany procesom na określony czas, a procesor w przypadku planowania z wywłaszczaniem jest przydzielany procesowi aż do jego zakończenia.
- W przypadku planowania z wywłaszczaniem zadania są przełączane na podstawie priorytetu, podczas gdy w przypadku planowania z wywłaszczaniem przełączanie nie ma miejsca.
- Algorytm z wywłaszczaniem wiąże się z narzutem związanym z przełączaniem procesu ze stanu gotowości do stanu działania, podczas gdy planowanie bez wywłaszczania nie wiąże się z takim narzutem związanym z przełączaniem.
- Planowanie z wywłaszczaniem jest elastyczne, natomiast planowanie bez wywłaszczania jest sztywne.

Co to jest planowanie wyprzedzające?
Planowanie wyprzedzające to metoda planowania, w której zadaniom przypisuje się przeważnie 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 wstrzymywane przez pewien czas i wznawiane po zakończeniu wykonywania zadania o wyższym priorytecie.
Co to jest planowanie niewywłaszczające?
W tego typu metodzie planowania procesor jest przydzielany konkretnemu procesowi. Proces, który utrzymuje procesor zajęty, zwolni procesor poprzez zmianę kontekstu lub zakończenie.
Jest to jedyna metoda, którą można zastosować dla różnych platform sprzętowych. Dzieje się tak dlatego, że nie wymaga specjalistycznego sprzętu (na przykład timera), takiego jak planowanie z wywłaszczaniem.
Planowanie niewywłaszczające ma miejsce, gdy proces dobrowolnie przechodzi w stan oczekiwania lub kończy się.
Planowanie z wywłaszczaniem i bez wywłaszczania: tabela porównawcza
Oto bezpośrednie porównanie Planowanie z wywłaszczaniem i bez wywłaszczania. Główne różnice między planowaniem z wywłaszczaniem a planowaniem z wywłaszczaniem w systemie operacyjnym są następujące:
Planowanie z wyprzedzeniem | Planowanie bez wywłaszczania |
---|---|
Procesor może zostać poinstruowany, 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 efektywne w porównaniu z planowaniem niewywłaszczającym. | Wykorzystanie procesora jest mniej efektywne w porównaniu z planowaniem z wywłaszczaniem. |
Czas oczekiwania i odpowiedzi w przypadku planowania wyprzedzającego jest krótszy. | Czas oczekiwania i odpowiedzi w przypadku metody planowania bez wywłaszczania jest dłuższy. |
Priorytetem jest planowanie wyprzedzające. Proces o najwyższym priorytecie to proces, który jest obecnie wykorzystywany. | Kiedy dowolny proces przechodzi w stan działania, stan tego procesu nigdy nie jest usuwany z programu planującego, dopóki nie zakończy on swojego zadania. |
Planowanie wyprzedzające jest elastyczne. | Planowanie bez wywłaszczania jest sztywne. |
Przykłady: – Najpierw najkrótszy pozostały czas, Round Robin itp. | Przykłady: Kto pierwszy ten lepszy, Najpierw najkrótsza praca, Planowanie priorytetów itp. |
Algorytm planowania z wywłaszczaniem można wywłaszczyć, czyli proces można zaplanować | W przypadku planowania niewywłaszczającego nie można zaplanować procesu |
W tym procesie procesor jest przydzielany procesom na określony czas. | W tym procesie procesor jest przydzielany procesowi do momentu jego zakończenia lub przejścia do stanu oczekiwania. |
Algorytm wywłaszczający ma narzut związany z przełączaniem procesu ze stanu gotowości do stanu uruchomionego i odwrotnie. | Planowanie bez wywłaszczania nie wiąże się z takim obciążeniem związanym z przełączaniem procesu z uruchomionego do stanu gotowości. |
Zalety planowania wyprzedzającego
Oto zalety/zalety metody planowania wyprzedzającego:
- Metoda planowania z wywłaszczaniem jest bardziej niezawodna i polega na tym, że jeden proces nie może zmonopolizować procesora
- Wybór uruchomionego zadania jest ponownie rozważany po każdej przerwie.
- Każde zdarzenie powoduje przerwanie uruchomionych zadań
- System operacyjny dba o to, aby użycie procesora było takie samo we wszystkich uruchomionych procesach.
- W tym przypadku użycie procesora jest takie samo, tj. wszystkie uruchomione procesy będą w równym stopniu korzystać z procesora.
- Ta metoda planowania improwizuje również średni czas odpowiedzi.
- Planowanie wywłaszczające jest korzystne, gdy używamy go w środowisku wieloprogramowym.
Zalety planowania niewywłaszczającego
Oto zalety/zalety metody planowania bez wywłaszczania:
- Oferuje niskie koszty ogólne planowania
- Zwykle oferuje wysoką przepustowość
- Jest to koncepcyjnie bardzo prosta metoda
- Less zasoby obliczeniowe potrzebne do planowania
Wady planowania wyprzedzającego
Poniżej przedstawiono wady planowania wyprzedzającego:
- Potrzebujesz ograniczonych zasobów obliczeniowych do planowania
- Zawieszenie uruchomionego zadania, przełączenie kontekstu i wysłanie nowego przychodzącego zadania zajmuje programowi planującemu więcej czasu.
- Proces o niskim priorytecie musi czekać dłużej, jeśli niektóre procesy o wysokim priorytecie napływają w sposób ciągły.
Wady planowania niewywłaszczającego
Oto wady/wady metody planowania niewywłaszczającego:
- Może to prowadzić do głodu, szczególnie w przypadku zadań wykonywanych w czasie rzeczywistym
- Błędy mogą spowodować zawieszenie się maszyny
- Może wykonywać w czasie rzeczywistym i Harmonogram priorytetowy trudny
- Zły czas reakcji procesów
Przykład planowania niewywłaszczającego
W przypadku planowania SJF bez wywłaszczania, gdy cykl procesora zostanie przydzielony procesowi, proces wstrzymuje go do momentu osiągnięcia stanu oczekiwania lub zakończenia.
Rozważmy pięć następujących procesów, z których każdy ma swój własny, unikalny 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 chwili = 0 przybywa P4 i rozpoczyna wykonanie.
Krok 1) W chwili = 1 nadchodzi proces P3. Ale P4 nadal potrzebuje 2 jednostek wykonawczych do ukończenia. Będzie kontynuować realizację.
Krok 2) W chwili =2 przybywa proces P1 i zostaje dodany do kolejki oczekujących. P4 będzie kontynuować wykonywanie.
Krok 3) W chwili = 3 proces P4 zakończy swoje wykonywanie. Porównuje się czas rozerwania P3 i P1. Proces P1 jest wykonywany, ponieważ jego czas impulsu jest krótszy w porównaniu do P3.
Krok 4) W chwili = 4 przybywa proces P5 i zostaje dodany do kolejki oczekujących. P1 będzie kontynuować wykonywanie.
Krok 5) W chwili = 5 przybywa proces P2 i zostaje dodany do kolejki oczekujących. P1 będzie kontynuować wykonywanie.
Krok 6) W chwili = 9 proces P1 zakończy swoje wykonywanie. Porównuje się czas rozerwania P3, P5 i P2. Proces P2 jest wykonywany, ponieważ jego czas impulsu jest najkrótszy.
Krok 7) W chwili = 10 wykonuje się P2, a P3 i P5 znajdują się w kolejce oczekującej.
Krok 8) W chwili = 11 proces P2 zakończy swoje wykonywanie. Porównuje się czas rozerwania P3 i P5. Proces P5 jest wykonywany, ponieważ jego czas impulsu jest krótszy.
Krok 9) W chwili = 15 proces P5 zakończy swoje wykonywanie.
Krok 10) W chwili = 23 proces P3 zakończy swoje wykonywanie.
Krok 11) Obliczmy średni czas oczekiwania dla powyższego przykładu.
Wait time P4= 0-0=0 P1= 3-2=1 P2= 9-5=4 P5= 11-4=7 P3= 15-1=14 Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2
Przykład planowania z wyprzedzeniem
Rozważmy następujące trzy procesy Okrągły
Kolejka procesów | Czas wybuchu |
---|---|
P1 | 4 |
P2 | 3 |
P3 | 5 |
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.
Krok 2) W chwili =2, P1 jest dodawany na końcu kolejki i rozpoczyna się wykonywanie P2
Krok 3) W czasie=4 P2 jest wywłaszczany i dodawany na końcu kolejki. P3 rozpoczyna wykonywanie.
Krok 4) W czasie=6 P3 jest wywłaszczany i dodawany na końcu kolejki. P1 rozpoczyna wykonywanie.
Krok 5) W chwili = 8 czas serii P1 wynosi 4. Zakończono wykonywanie. P2 rozpoczyna wykonywanie
Krok 6) P2 ma czas serii 3. Został już wykonany przez 2 interwały. W chwili = 9, P2 kończy wykonywanie. Następnie P3 rozpoczyna wykonywanie aż do jego zakończenia.
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