Sop_03_wyk_1.0.pdf

(3547 KB) Pobierz
Microsoft PowerPoint - SOP_wyk_nr_3.ppt
Systemy operacyjne
Planowanie przydziału procesora
Systemy operacyjne
Planowanie przydziału procesora
Wykład prowadzą:
Jerzy Brzeziński
Dariusz Wawrzyniak
Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora,
czyli szeregowania procesów w dostępie do procesora. Planowanie takie
sprowadza się do wyboru jednego z procesów (lub wątków) gotowych i
przekazaniu mu procesora. Wobec różnych i często wzajemnie przeciwstawnych
kryteriów optymalizacji oraz probabilistycznym charakterze niektórych
przesłanek istnieje duża różnorodność podejść i algorytmów w tym zakresie.
Jednym z celów jest więc pokazanie możliwych skutków podejmowanych
decyzji planisty w kontekście różnych form przetwarzania i wynikających stąd
oczekiwań użytkowników.
Omawiane podejścia ograniczone są do środowiska z jedną jednostką
przetwarzającą i dotyczą procesów niezależnych. Kwestia zależności przewija się
jedynie w problemie odwrócenia (inwersji) priorytetów, który został tylko
zasygnalizowany, gdyż wybiega nieco poza planowanie przydziału samego
procesora (dotyczy planowania dostępu do zasobów).
529572319.011.png 529572319.012.png
Systemy operacyjne
Planowanie przydziału procesora
Systemy operacyjne
Plan wykładu
• Komponenty jądra związane z szeregowaniem
• Ogólna koncepcja planowania
• Kryteria oceny algorytmów planowania
• Algorytmy planowania
Planowanie przydziału procesora (2)
W nawiązaniu do poprzedniego wykładu krótko scharakteryzowane są
komponenty jądra, istotne w realizacji szeregowania procesów. Następnie
omawiana jest ogólna koncepcja szeregowania, umożliwiająca matematyczny
opis podstawowych algorytmów. Przy jej omawianiu scharakteryzowane są
parametry czasowe procesów, które są podstawą omawianych dalej kryteriów
oceny algorytmów planowania. Ostatecznie omawiane są algorytmy planowania,
wraz z niektórymi aspektami ich dostrajania, konsekwencjami stosowania oraz
kwestiami implementacyjnymi.
529572319.013.png 529572319.014.png 529572319.001.png
Systemy operacyjne
Planowanie przydziału procesora
Systemy operacyjne
Komponenty jądra w planowaniu
• Planista krótkoterminowy (ang. CPU scheduler) —
wyznacza wartośćpriorytetu procesów gotowych i
wybiera proces (o najwyższym priorytecie) do
wykonania.
• Ekspedytor (zwany równieżdyspozytorem) ang.
dispatcher) —realizuje przekazanie sterowanie do
procesu wybranego przez planistę(dokonuje
przełączenia kontekstu).
Planowanie przydziału procesora (3)
W różnych systemach operacyjnych stosowana jest różna terminologia do
określania komponentów jądra, istotnych w szeregowaniu zadań. Nie zawsze też
komponenty te da się wyodrębnić strukturalnie. Funkcjonalnie jednak można
oddzielić samo planowanie od realizacji decyzji, wynikających z tego
planowania. Za planowanie, czyli utrzymywanie odpowiednich danych o
procesach i ich powiązaniach, na podstawie których można wybrać następny
proces do wykonania, odpowiedzialny jest planista krótkoterminowy (planista
przydziału procesora, ang. scheduler). Zmiany wykonywanego proces, czyli
przełączenia kontekstu, dokonuje ekspedytor.
529572319.002.png 529572319.003.png 529572319.004.png
Systemy operacyjne
Planowanie przydziału procesora
Systemy operacyjne
Ogólna koncepcja planowania
• Tryb decyzji —określa okoliczności, w których oceniane
i porównywane sąpriorytety procesów oraz dokonywany
jest wybór procesu do wykonania.
• Funkcja priorytetu —funkcja wyznaczająca aktualny
priorytet procesu na podstawie parametrów procesu i
stanu systemu.
• Reguła arbitrażu —reguła rozstrzygania konfliktów w
dostępie do procesora w przypadku procesów o tym
samym priorytecie.
Planowanie przydziału procesora (4)
Planowanie opiera się na trzech elementach, z których dwa zasadnicze to tryb
decyzji oraz funkcja priorytetu.
Funkcja priorytetu jest zbiorem wytycznych dla planisty. Zadaniem planisty jest
po prostu realizacja funkcji priorytetu, ewentualnie rozwiązywanie problemów,
wynikających z takiej samej wartości priorytetów dla więcej niż jednego procesu.
Wartość funkcji priorytetu jest jakąś liczbą, przy czym w niektórych systemach
większa wartość tej liczby oznacza wyższy priorytet (np. w Windows), w innych
wyższy priorytet to mniejsza wartość funkcji (np. w tradycyjnym systemie
UNIX).
Tryb decyzji jest z kolei zbiorem wytycznych odnośnie uruchamiania
ekspedytora. Szczegółowe wytyczne mogą obejmować również wartość funkcji
priorytetu, gdyż jedną z okoliczności zmiany przydziału procesora jest wzrost lub
spadek priorytetu procesów gotowych lub wykonywanego.
529572319.005.png 529572319.006.png 529572319.007.png
Systemy operacyjne
Planowanie przydziału procesora
Systemy operacyjne
Tryb decyzji
• Schemat niewywłaszczeniowy(ang. nonpreemptive) —
proces po uzyskaniu dostępu do procesora wykonywany
jest do momentu zakończenie lub zgłoszenia żądania
obsługi do systemu.
• Schemat wywłaszczeniowy (ang. preemptive) —proces
może zostaćzatrzymany i umieszczony w kolejce
procesów gotowych, a procesor zostaje przydzielony
procesowi o wyższym (lub równym) priorytecie.
Planowanie przydziału procesora (5)
Tryb decyzji można sklasyfikować jako wywłaszczeniowy lub
niewywłaszczeniowy.
W schemacie niewywłaszczeniowym procesor traktowany jest jako zasób
niewywłaszczalny. Nie można go odebrać procesowi, ale proces może się go
zrzec dobrowolnie (służy do tego np. funkcja yield , dostępna w niektórych
systemach) lub się zakończyć. Rezygnacja z procesora jest też uboczną
konsekwencją wejścia w stan oczekiwania (np. w wyniku zażądania operacji
wejścia-wyjścia).
W schemacie wywłaszczeniowym, w ramach kontrolnego przekazania
sterowania do jądra systemu operacyjnego może zostać podjęta decyzja o
przełączeniu kontekstu pomimo, że wykonywany proces nie zażądał żadnej
usługi, oznaczającej rezygnację z procesora. Przechodzi on wówczas do stanu
gotowy, a rozpoczyna się wykonywanie innego procesu.
529572319.008.png 529572319.009.png 529572319.010.png
Zgłoś jeśli naruszono regulamin