Co to jest harmonogram procesora?
Planowanie procesora to proces określania, który proces będzie posiadał procesor do wykonania, podczas gdy inny proces jest wstrzymany. Głównym zadaniem planowania procesora jest upewnienie się, że ilekroć procesor pozostaje bezczynny, system operacyjny przynajmniej wybiera jeden z procesów dostępnych w kolejce gotowej do wykonania. Proces wyboru zostanie przeprowadzony przez planistę procesora. Wybiera jeden z procesów w pamięci, które są gotowe do wykonania.
W tym samouczku planowania procesora dowiesz się:
- Co to jest planowanie procesora?
- Rodzaje planowania procesora
- Ważne terminologie planowania procesora
- Kryteria planowania procesora
- Timer interwałowy
- Co to jest dyspozytor?
- Rodzaje algorytmów szeregowania procesora
- Kto pierwszy ten lepszy
- Najkrótszy pozostały czas
- Planowanie oparte na priorytetach
- Planowanie okrężne
- Najpierw najkrótsza praca
- Planowanie kolejek wielopoziomowych
- Cel algorytmu planowania
Rodzaje planowania procesora
Oto dwa rodzaje metod planowania:
Planowanie prewencyjne
W planowaniu zapobiegawczym zadaniom w większości przypisuje się 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. Zadanie o niższym priorytecie jest utrzymywane przez pewien czas i zostaje wznowione, gdy zadanie o wyższym priorytecie zakończy się.
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 specjalnego sprzętu (na przykład timera), takiego jak planowanie zapobiegawcze.
Kiedy planowanie jest z wywłaszczeniem lub bez wywłaszczania?
Aby określić, czy planowanie jest wywłaszczeniowe, czy nie, należy wziąć pod uwagę następujące cztery parametry:
- Proces przechodzi ze stanu uruchomionego do stanu oczekiwania.
- Określony proces przechodzi ze stanu pracy do stanu gotowości.
- Określony proces przechodzi ze stanu oczekiwania do stanu gotowości.
- Proces zakończył swoją realizację i zakończony.
Obowiązują tylko warunki 1 i 4, szeregowanie nazywa się nie wywłaszczające.
Wszystkie inne harmonogramy mają charakter wywłaszczeniowy.
Ważne terminologie planowania procesora
- Burst Time / Execution Time: jest to czas wymagany przez proces do zakończenia wykonania. Nazywa się to również czasem działania.
- Czas przybycia: kiedy proces przechodzi w stan gotowości
- Czas zakończenia: po zakończeniu procesu i wyjściu z systemu
- Programowanie wieloprogramowe: wiele programów, które mogą znajdować się w pamięci w tym samym czasie.
- Praca: jest to typ programu bez jakiejkolwiek interakcji użytkownika.
- Użytkownik: Jest to rodzaj programu, w którym występuje interakcja użytkownika.
- Proces: jest to odniesienie używane zarówno dla zadania, jak i dla użytkownika.
- Cykl impulsów CPU / IO: Charakteryzuje wykonywanie procesu, który zmienia się pomiędzy aktywnością CPU i I / O. Czasy procesora są zwykle krótsze niż czas operacji we / wy.
Kryteria planowania procesora
Algorytm planowania procesora próbuje zmaksymalizować i zminimalizować następujące elementy:
Wyolbrzymiać:
Wykorzystanie procesora: Wykorzystanie procesora jest głównym zadaniem, w którym system operacyjny musi upewnić się, że procesor jest tak zajęty, jak to tylko możliwe. Może wynosić od 0 do 100 procent. Jednak w przypadku systemu RTOS może wynosić od 40 procent dla systemu niskiego poziomu i 90 procent dla systemu wysokiego poziomu.
Przepustowość: znana jest liczba procesów kończących wykonywanie w jednostce czasu. Tak więc, gdy procesor jest zajęty wykonywaniem procesu, w tym czasie praca jest wykonywana, a praca zakończona na jednostkę czasu nazywa się przepustowością.
Zminimalizować:
Czas oczekiwania: Czas oczekiwania to ilość, którą określony proces musi czekać w kolejce gotowości.
Czas odpowiedzi: Jest to czas, w którym żądanie zostało złożone do momentu wygenerowania pierwszej odpowiedzi.
Czas realizacji: czas realizacji to czas potrzebny na wykonanie określonego procesu. Jest to obliczenie całkowitego czasu spędzonego na oczekiwaniu na wejście do pamięci, oczekiwanie w kolejce i wykonanie na CPU. Okres od momentu złożenia procesu do czasu zakończenia to czas realizacji.
Timer interwałowy
Przerwanie timera jest metodą ściśle związaną z wywłaszczaniem. Kiedy określony proces otrzyma przydział procesora, licznik czasu może być ustawiony na określony interwał. Zarówno przerwanie timera, jak i wywłaszczanie wymuszają na procesie powrót procesora przed zakończeniem serii procesora.
Większość systemów operacyjnych z wieloma programami wykorzystuje pewną formę licznika czasu, aby zapobiec trwałemu zablokowaniu systemu przez proces.
Co to jest dyspozytor?
Jest to moduł zapewniający kontrolę procesora w procesie. Dispatcher powinien być szybki, aby mógł działać na każdym przełączniku kontekstu. Opóźnienie wysyłania to ilość czasu potrzebna programowi planującemu procesora do zatrzymania jednego procesu i uruchomienia innego.
Funkcje wykonywane przez Dyspozytora:
- Przełączanie kontekstu
- Przejście do trybu użytkownika
- Przechodzenie do właściwej lokalizacji w nowo załadowanym programie.
Rodzaje algorytmów szeregowania procesora
Istnieje sześć typów algorytmów planowania procesów
- Kto pierwszy, ten lepszy (FCFS)
- Harmonogramowanie od najkrótszego zadania (SJF)
- Najkrótszy pozostały czas
- Planowanie priorytetowe
- Planowanie okrężne
- Wielopoziomowe planowanie kolejki
Kto pierwszy ten lepszy
First Come First Serve to pełna forma FCFS. Jest to najłatwiejszy i najprostszy algorytm planowania procesora. W tego typu algorytmie proces, który żąda od procesora, otrzymuje najpierw przydział procesora. Tą metodą planowania można zarządzać za pomocą kolejki FIFO.
Gdy proces wchodzi do kolejki gotowości, jego płytka drukowana (blok kontroli procesu) jest połączona z końcem kolejki. Tak więc, gdy procesor zostanie zwolniony, należy go przypisać do procesu na początku kolejki.
Charakterystyka metody FCFS:
- Oferuje nie wywłaszczający i wywłaszczający algorytm planowania.
- Prace są zawsze wykonywane na zasadzie kto pierwszy, ten lepszy
- Jest łatwy do wdrożenia i użytkowania.
- Jednak ta metoda ma słabą wydajność, a ogólny czas oczekiwania jest dość długi.
Najkrótszy pozostały czas
Pełna forma SRT to Najkrótszy pozostały czas. Jest również znany jako planowanie wyprzedzające SJF. W tej metodzie proces zostanie przypisany do zadania, które jest najbliżej jego zakończenia. Ta metoda zapobiega wstrzymywaniu zakończenia starszego procesu przez nowszy proces stanu gotowości.
Charakterystyka metody planowania SRT:
- Ta metoda jest najczęściej stosowana w środowiskach wsadowych, w których preferowane są krótkie prace.
- Nie jest to idealna metoda zaimplementowania go w systemie współdzielonym, w którym wymagany czas procesora nie jest znany.
- Skojarz z każdym procesem jako długość jego następnej serii procesora. Tak więc system operacyjny wykorzystuje te długości, co pomaga zaplanować proces w jak najkrótszym czasie.
Planowanie oparte na priorytetach
Szeregowanie priorytetowe to metoda planowania procesów w oparciu o priorytet. W tej metodzie harmonogram wybiera zadania do pracy zgodnie z priorytetem.
Planowanie priorytetów pomaga również systemowi operacyjnemu w przypisywaniu priorytetów. Procesy o wyższym priorytecie powinny być realizowane w pierwszej kolejności, podczas gdy zadania o równych priorytetach są wykonywane na zasadzie okrężnej lub FCFS. Priorytet można określić na podstawie wymagań dotyczących pamięci, wymagań czasowych itp.
Planowanie okrężne
Praca okrężna to najstarszy i najprostszy algorytm planowania. Nazwa tego algorytmu pochodzi od zasady round-robin, w której każda osoba po kolei otrzymuje równy udział. Jest głównie używany do planowania algorytmów w wielozadaniowości. Ta metoda algorytmu pomaga w wykonywaniu procesów bez głodu.
Charakterystyka harmonogramowania okrężnego
- Okrągły robin to model hybrydowy, który jest sterowany zegarem
- Przedział czasu powinien być minimalny, który jest przypisany do konkretnego zadania do wykonania. Jednak może się różnić w zależności od różnych procesów.
- Jest to system czasu rzeczywistego, który reaguje na zdarzenie w określonym czasie.
Najpierw najkrótsza praca
SJF to pełna forma (Shortest job first) to algorytm planowania, w którym proces o najkrótszym czasie wykonania powinien zostać wybrany do wykonania jako następny. Ta metoda planowania może być wywłaszczająca lub nieprzedmiotowa. Znacząco skraca średni czas oczekiwania na inne procesy oczekujące na wykonanie.
Charakterystyka harmonogramowania SJF
- Jest powiązany z każdym zadaniem jako jednostka czasu do wykonania.
- W tej metodzie, gdy procesor jest dostępny, następny proces lub zadanie o najkrótszym czasie zakończenia zostanie wykonany jako pierwszy.
- Jest wdrażany z polityką nie wywłaszczającą.
- Ta metoda algorytmu jest przydatna w przypadku przetwarzania wsadowego, w którym oczekiwanie na zakończenie zadań nie jest krytyczne.
- Poprawia wydajność pracy, oferując krótsze prace, które powinny być wykonywane jako pierwsze, które zazwyczaj mają krótszy czas realizacji.
Planowanie kolejek wielopoziomowych
Ten algorytm rozdziela gotową kolejkę na różne oddzielne kolejki. W tej metodzie procesy są przypisywane do kolejki na podstawie określonej właściwości procesu, takiej jak priorytet procesu, rozmiar pamięci itp.
Jednak nie jest to niezależny algorytm planowania systemu operacyjnego, ponieważ w celu zaplanowania zadań konieczne jest użycie innych typów algorytmów.
Charakterystyka szeregowania kolejek wielopoziomowych:
- Dla procesów o pewnych cechach powinno być utrzymywanych wiele kolejek.
- Każda kolejka może mieć swoje oddzielne algorytmy planowania.
- Priorytety są nadawane dla każdej kolejki.
Cel algorytmu planowania
Oto powody korzystania z algorytmu planowania:
- Procesor wykorzystuje planowanie w celu poprawy swojej wydajności.
- Pomaga przy alokacji zasobów między konkurującymi procesami.
- Maksymalne wykorzystanie procesora można uzyskać dzięki wieloprogramowaniu.
- Procesy, które mają zostać wykonane, znajdują się w gotowej kolejce.
Podsumowanie:
- Planowanie procesora to proces określania, który proces będzie posiadał procesor do wykonania, podczas gdy inny proces jest wstrzymany.
- W planowaniu zapobiegawczym zadaniom w większości przypisuje się ich priorytety.
- W metodzie planowania bez wywłaszczania, procesor został przydzielony do określonego procesu.
- Czas Burst to czas wymagany do zakończenia procesu. Nazywa się to również czasem działania.
- Wykorzystanie procesora jest głównym zadaniem, w którym system operacyjny musi upewnić się, że procesor jest tak zajęty, jak to tylko możliwe
- Liczba procesów, które kończą swoje wykonanie w jednostce czasu, jest znana Przepustowość.
- Czas oczekiwania to ilość, którą dany proces musi czekać w kolejce gotowości.
- Jest to okres, w którym żądanie zostało złożone do momentu uzyskania pierwszej odpowiedzi.
- Czas realizacji to czas potrzebny na wykonanie określonego procesu.
- Przerwanie timera to metoda ściśle związana z wywłaszczaniem,
- Dyspozytor to moduł, który zapewnia kontrolę procesora w procesie.
- Sześć typów algorytmów planowania procesów to:
- First Come First Serve (FCFS), 2) Shortest-Job-First (SJF) 3) Najkrótszy pozostały czas 4) Priority Scheduling 5) Round Robin Scheduling 6) Multilevel Queue Scheduling
- W metodzie „First Come First Serve” proces, który żąda CPU, jako pierwszy otrzymuje przydział procesora.
- W najkrótszym pozostałym czasie proces zostanie przypisany do zadania, które jest najbliżej jego zakończenia.
- W programie Priority Scheduling harmonogram wybiera zadania do pracy zgodnie z priorytetem.
- W tym harmonogramie okrężnym działa na zasadzie, w której każda osoba po kolei otrzymuje równy udział w czymś
- W najkrótszym zadaniu najpierw należy wybrać najkrótszy czas wykonania do wykonania
- W planowaniu wielopoziomowym metoda rozdziela kolejkę gotowości na różne oddzielne kolejki. W tej metodzie procesy są przypisywane do kolejki na podstawie określonej właściwości
- Procesor wykorzystuje planowanie w celu poprawy swojej wydajności.