Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład nr 6: Planowanie przydziału procesora

Podobne prezentacje


Prezentacja na temat: "Wykład nr 6: Planowanie przydziału procesora"— Zapis prezentacji:

1 Wykład nr 6: Planowanie przydziału procesora
Systemy operacyjne Wykład nr 6: Planowanie przydziału procesora Piotr Bilski

2 Cele planowania W systemie wieloprogramowym każdy proces musi być obsługiwany przez procesor Blokowanie w oczekiwaniu na urządzenia wejścia-wyjścia nie może zawieszać komputera! Schemat przydziału-wywłaszczania jest wykonywany cyklicznie

3 Cykl pracy procesora Ładowanie do pamięci Dodanie do pamięci
Czytanie z pliku Faza procesora Oczekiwanie na urządzenie wejścia-wyjścia Faza wejścia-wyjścia Przechowanie przyrostu Indeksowanie Pisanie do pliku Faza procesora Oczekiwanie na urządzenie wejścia-wyjścia Faza wejścia-wyjścia

4 Planowanie niewywłaszczające
Proces może zwolnić zasoby procesora tylko wtedy, gdy: Czeka na urządzenie wejścia-wyjścia Zakończył działanie Czasomierz nie jest wymagany (proste!) Używane w systemach Windows 3.1 i wczesnych wersjach systemów dla komputerów Apple Macintosh

5 Planowanie wywłaszczające
Proces może zwolnić zasoby procesora również wtedy, gdy: Jego działanie zostało zakłócone przez przerwanie Przeszedł do stanu gotowości (po zakończeniu operacji wejścia-wyjścia) Czasomierz wymagany, problem spójności danych! Używane w nowych systemach Windows, Linux, Solaris, MacOS itp.

6 Ekspedytor Moduł systemu operacyjnego odpowiedzialny za:
Przełączenie kontekstu Przełączenie do trybu użytkownika Wykonanie skoku do podprocedury i powrót z niej Czas przełączenia kontekstu = opóźnienie ekspedycji

7 Kryteria planowania Wykorzystanie procesora Przepustowość
Czas cyklu przetwarzania Czas oczekiwania Czas odpowiedzi Pomiary wartości średnich a pomiary wariancji

8 Planowanie metodą FCFS
Pierwszy zgłoszony – pierwszy obsłużony Realizacja – kolejka FIFO P1 P2 P3 czas oczekiwania: ( )/3=12,66 ms P1 P2 P3 czas oczekiwania: (0+4+10)/3=4,66 ms

9 Planowanie metodą SJF P3 P2 P4 P1 czas oczekiwania: (0+3+8+17)/4= 7 ms
Najkrótsze zadanie jest obsługiwane jako pierwsze Planowanie wywłaszczające lub nie Metoda jest optymalna! Używany w planowaniu długoterminowym P3 P2 P4 P1 czas oczekiwania: ( )/4= 7 ms

10 n+1 = αtn+(1-α)tn-1+ … +(1-α)j· α·tn-j+ … +(1-α)n+1· 0
Problemy metody SJF Poznanie następnej fazy przydziału profesora niemożliwe Konieczna predykcja (średnia wykładnicza): n+1 = αtn+(1-α) n n+1 = αtn+(1-α)tn-1+ … +(1-α)j· α·tn-j+ … +(1-α)n+1· 0

11 Wywłaszczająca wersja SJF (SRTF)
Uwzględnia nowe procesy w kolejce proces tprzyb ttf P1 7 P2 1 4 P3 2 9 P4 3 5 P2 P4 P1 P3 czas oczekiwania: ((10-1)+(1-1)+(16-2)+(5-3))/4= 6,25 ms

12 Planowanie priorytetowe
Każdy proces ma priorytet (liczba całkowita), procesor jest przydzielany procesowi z najwyższym priorytetem Priorytety mogą być zewnętrzne lub wewnętrzne Planowanie może być wywłaszczające lub niewywłaszczające Problem: blokowanie nieskończone (głodzenie). Rozwiązanie: postarzanie

13 Przykład planowania priorytetowego
proces tfazy ttf P1 10 3 P2 1 P3 2 4 P4 5 P5 P5 P1 P2 P3 P4 czas oczekiwania: ( )/5= 8,2 ms

14 Planowanie rotacyjne (round-robin)
Jest to FCFS z wywłaszczaniem Jednostka obliczeniowa czasu trwania procesu – kwant (zwykle pomiędzy ms) Każdy proces dostaje 1 kwant jednocześnie Procesy ustawiane są w kolejce FIFO

15 Planowanie rotacyjne - przykład
proces tfazy P1 24 P2 3 P3 Kwant czasu: 4 ms P1 P2 P3 P1 P1 czas oczekiwania: (4+7+6)/3= 5,66 ms

16 Planowanie rotacyjne - parametry
Długość kwantu silnie wpływa na wydajność Dla długich kwantów algorytm staje się FCFS Dla krótkich algorytmów zachodzi dzielenie procesora Czas przełączania kontekstu a efektywność – kwant powinien być długi w porównaniu z czasem przełączenia kontekstu

17 Planowanie wielopoziomowe
Używane, gdy procesy można kategoryzować (np. pierwszoplanowe i drugoplanowe) Kolejka procesów gotowych jest dzielona na mniejsze kolejki. Procesy są do nich przypisywane na stałe w zależności od parametrów (priorytet, typ) Do każdej kolejki stosuje się osobny algorytm przydziału Konieczny mechanizm przełączania między kolejkami

18 Planowanie wielopoziomowe – przykład - Solaris 2
Procesy systemowe Procesy interakcyjne Procesy redagowania interakcyjnego Procesy wsadowe Procesy studenckie

19 Planowanie wielopoziomowe ze sprzężeniem zwrotnym
Umożliwia przemieszczanie procesów między kolejkami Przydział w zależności od intensywności wykorzystania procesora i przenoszeniu w górę, jeśli proces korzysta „za mało” z procesora i w dół, jeśli korzysta zbyt intensywnie Zapobiega głodzeniu procesów

20 Planowanie wielopoziomowe ze sprzężeniem - przykład
Kwant = 8 1 Kwant = 16 2 FCFS

21 Parametry planisty kolejek wielopoziomowych
Liczba kolejek Algorytm planowania kolejek Metody awansowania i degradacji procesów pomiędzy kolejkami Metody przydziału procesów do kolejek

22 Planowanie wieloprocesorowe dla procesorów homogenicznych
Stosowany mechanizm dzielenia obciążeń lub jednej wspólnej kolejki Metody planowania: Każdy procesor sam planuje działanie Jeden procesor pełni funkcję planisty Wieloprzetwarzanie asymetryczne

23 Planowanie w czasie rzeczywistym
Systemy czasu rzeczywistego: Rygorystyczne (HRT) Łagodne (SRT) Niemożliwe do zastosowania w systemach z pamięcią wirtualną

24 Zasady planowania łagodnego
Priorytety procesów muszą być stałe Opóźnienie ekspedycji musi być małe Punkty wywłaszczeń w funkcjach systemowych minimalizują opóźnienie ekspedycji Jądro może być wywłaszczalne w całości

25 Metody szacowania algorytmów
Miary: Maksymalizacja wykorzystania procesora Maksymalizacja przepustowości tak, aby czas cyklu był liniowo proporcjonalny do całkowitego czasu wykonania Metody: Modele deterministyczne Modele obsługi kolejek Symulacje Implementacja

26 Modelowanie deterministyczne
Łatwe i szybkie w implementacji Ograniczona przydatność (określa właściwości dla konkretnego zbioru danych wejściowych) Wykorzystywane do oceny pracy systemu dla ustalonego i powtarzalnego zestawu procesów

27 Modele obsługi kolejek
Pomiar rozkładu faz procesora i wejścia-wyjścia Wynik określa prawdopodobieństwo wystąpienia poszczególnych faz jako funkcja liczby nadchodzących procesów oraz średniego obciążenia kolejki Ograniczona przydatność – mała liczba algorytmów, które da się modelować

28 Wzór Little’a Określa, jakie muszą być parametry kolejki procesów, aby system był stabilny gdzie: n – liczba procesów, które muszą opuszczać kolejkę w jednostce czasu - tempo przybywania nowych procesów do kolejki [liczba procesów na sekundę] W – średni czas oczekiwania w kolejce n =  · W

29 Symulacja Wymaga zbudowania modelu systemu
Dane do symulacji uzyskuje się losowo (tworzenie procesów, czas trwania faz procesora itp.) Uwzględnienie kolejności występowania zdarzeń realizuje taśma śladów Symulacje są kosztowne i długotrwałe!

30 Realizacja planowania procesów
Lokalne (wybór wątków użytkownika w ramach procesu lekkiego) a globalne (wybór wątków jądra) planowanie procesowe Solaris 2 – planowanie priorytetowe: Procesy czasu rzeczywistego Procesy systemowe Procesy z podziałem czasu (klasa domyślna) Procesy interakcyjne Każdy proces rozpoczyna z jednym LWP

31 Realizacja planowania procesów (c.d.)
Windows – priorytetowy algorytm wywłaszczający Dwie główne klasy procesów: zmienna (priorytety 1-15) i czasu rzeczywistego (16-31): REALTIME_PRIORITY_CLASS HIGH_PRIORITY_CLASS ABOVE_NORMAL_PRIORITY_CLASS NORMAL_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS IDLE_PRIORITY_CLASS


Pobierz ppt "Wykład nr 6: Planowanie przydziału procesora"

Podobne prezentacje


Reklamy Google