Zarządzanie procesorem

Transkrypt

Zarządzanie procesorem
Zarządzanie procesorem
1. Koncepcja procesu
2. Blok kontrolny procesu
3. Planowanie (szeregowanie) procesów
! rodzaje planistów
! kryteria planowania
4. Algorytmy planowania
!
!
!
!
!
FCFS
SJF
RR
planowanie priorytetowe
wielopoziomowe planowanie kolejek
1
Blok kontrolny procesu
! Stan procesu (nowy, gotowy, aktywny, oczekujący, itd.)
! Licznik rozkazów — adres następnego rozkazu
! Rejestry procesora (akumulatory, rejestry indeksowe,
wskaźniki stosu, rejestry ogólnego przeznaczenia, rejestry
flagowe, rejestry warunków)
! Informacje o planowaniu przydziału procesora (priorytet,
wskaźniki do kolejek porządkujących itp.)
! Informacje o zarządzaniu pamięcią (elementy tablic stron i
segmentów, zawartości rejestrów granicznych)
! Informacje o stanie wejścia-wyjścia
! Informacje do rozliczeń
Zarządzanie procesorem
2
2
Kolejki procesów
! Kolejka zadań (ang. job queue) — wszystkie procesy
systemu
! Kolejka procesów gotowych (ang. ready queue) — procesy
gotowe do działania, przebywające w pamięci głównej
! Kolejka do urządzenia (ang. device queue) — procesy
czekające na zakończenie operacji wejścia-wyjścia
! Kolejka procesów oczekujących w wyniku synchronizacji
z innymi procesami (np. kolejka procesów na semaforze)
Zarządzanie procesorem
3
3
Diagram kolejek w planowaniu procesora
kolejka procesów
gotowych
procesor
kolejka operacji
wej-wyj
wej-wyj
kolejka procesów
uśpionych
zamówienie
operacji
wej-wyj
upłynięcie
kwantu
czasu
synchronizacja
sygnał
Zarządzanie procesorem
4
4
Planista (ang. scheduler)
scheduler)
! Planista długoterminowy, planista zadań (ang. long-term
scheduler, job scheduler) — zajmuje się ładowaniem
nowych programów do pamięci, kontroluje stopień
wieloprogramowości, dąży do zrównoważenia procesora.
! Planista krótkoterminowy, planista przydziału procesora
(ang. CPU scheduler) — zajmuje się przydziałem
procesora do procesów gotowych.
! Planista średnioterminowy (ang. medium-term scheduler)
— zajmuje się wymianą procesów pomiędzy pamięcią
główną a pamięcią zewnętrzną (np. dyskiem).
Zarządzanie procesorem
5
Planista tak musi dobrać procesy, aby równoważyć obciążenie systemu, czyli
ogólnie procesora i urządzeń zewnętrznych. W przeciwnym razie w systemie
może powstać wąskie gardło, którym będzie procesor lub urządzenie
zewnętrzne.
Ponadto musi być zagwarantowany rozsądny czas odpowiedzi w przypadku
systemów interaktywnych.
5
Przełączanie kontekstu
zachowanie
kontekstu w bloku
kontrolnym 1
bezczynność
proces 1
odtworzenie
kontekstu z bloku
kontrolnego 2
proces 2 bezczynność
proces 3
bezczynność
bezczynność
Zarządzanie procesorem
bezczynność
6
Przełączenie kontekstu polega na zachowaniu stanu starego procesu
(zachowaniu kontekstu), i załadowania stanu nowego procesu (odtworzenie
kontekstu) lub utworzenie nowego kontekstu dla nowego procesu w systemie.
6
Kryteria planowania
! Wykorzystanie procesora — procent czasu, przez który
procesor jest zajęty pracą
! Przepustowość — liczba procesów kończonych w
jednostce czasu
! Czas cyklu przetwarzania — czas pomiędzy przedłożeniem zadania, a zakończeniem jego wykonywania
! Czas oczekiwania — łączny czas spędzony przez proces w
kolejce procesów gotowych
! Czas odpowiedzi — czas pomiędzy przedłożeniem
zadania, a uzyskaniem pierwszej odpowiedzi
Zarządzanie procesorem
7
7
Pierwszy zgłoszony – pierwszy obsłużony
(ang. First Come First Served — FCFS)
! Wykonywanie procesów w
kolejności zgłaszania się do
systemu
! Algorytm niewywłaszczający
(proces oddaje procesor dopiero
po zażądaniu operacji wejściawyjścia)
! Duży rozrzut czasu oczekiwania
Zarządzanie procesorem
8
Z tym rodzajem obsługi można się spotkać w życiu codziennym, czekając np.
w kolejce w sklepie (np. do kasy), w banku, w punkcie lotto.
8
Najpierw najkrótsze zadanie
(ang. Shortest Job First — SJF)
! Wybierany jest proces, który
ma najkrótszą następną fazę
procesora
! Daje minimalny średni czas
oczekiwania dla każdego
procesu
jeden na
chybił-trafił
Zarządzanie procesorem
9
Jeżeli w punkcie lotto osoba obsługująca wybrałaby najpierw dziewczynkę z
niebieskimi kokardami, ponieważ jej zadanie jest bardzo krótkie (chce
zawrzeć tylko jeden zakład na chybił trafił), to dwaj „gentleman’i” przed nią
będą czekać niewiele dłużej. W przypadku obsługi FIFO dziewczynka będzie
musiała długo czekać żeby zrealizować krótkie zadanie, gdyż panowie przed
nią chcą zagrać za duże pieniądze. Problem z realizacją tego algorytmu polega
na ustaleniu długości obsługi dla nadchodzących zadań. Jest to trudne lub
wręcz niemożliwe w systemach komputerowych. Można to ewentualnie mniej
lub bardziej precyzyjnie szacować.
9
Planowanie priorytetowe
(ang. priority scheduling)
! Wybierany jest proces, który
ma największy priorytet
Zarządzanie procesorem
10
Jest to ogólna koncepcja algorytmu z priorytetami. Jako pierwszy obsługiwany
jest np. klient w punkcie lotto, który chce „zainwestować” najwięcej
pieniędzy. Niezależnie od kolejności, w jakiej klienci przyszli do punktu lotto,
najpierw zostanie obsłużony brunet, później jasny blondyn, później ciemny
blondyn, a na końcu biedna dziewczynka (może za to, że tak dług czekała, coś
wygra).
10
Planowanie rotacyjne (ang. Round Robin — RR)
! Ustalany jest kwant czasu, po upływie
którego proces jest wywłaszczany i
trafia na koniec kolejki procesów
gotowych (chyba że wcześniej zażąda
operacji wejścia-wyjścia)
! Preferencja dla zadań krótkich
(wydłuża się czas oczekiwania i czas
cyklu przetwarzania dla zadań
długich)
! Przełączanie kontekstu pochłania
pewien czas!!!
Zarządzanie procesorem
11
Zaadoptowanie algorytmu do systemu lotto polegałoby na dopuszczeniu
każdego klienta do wysłania w danym podejściu do lottomatu tylko jednego
kuponu, po czym musiałby on wrócić na koniec kolejki i czekać po to, by
zawrzeć następny zakład (jeśli miałby jeszcze na to ochotę). Klient, który ma
mniej zakładów do zawarcia, czeka znacznie krócej niż klient, który ma ich
więcej.
11
Planowanie wielokolejkowe
(ang. multiple queues)
! Podział procesów na grupy (np.
procesy interaktywne i procesy
wsadowe) i wynikający z tego
przydział do różnych kolejek
! Możliwość przydziału różnych
priorytetów oraz różnych algorytmów
szeregowania do poszczególnych
kolejek
Zarządzanie procesorem
12
W systemie obsługi klientów priorytet mogą mieć inwalidzi i kobiety z
dzieckiem na ręku.
Różne algorytmy szeregowania oznaczają np., że kolejka procesów
interaktywnych może być obsługiwana zgodnie z algorytmem RR, a kolejka
procesów wsadowych zgodnie z algorytmem FCFS.
12

Podobne dokumenty