Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Systemy operacyjne Wykład nr 6: Planowanie przydziału procesora Piotr Bilski."— Zapis prezentacji:

1 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 Przechowanie przyrostu Indeksowanie Pisanie do pliku Oczekiwanie na urządzenie wejścia-wyjścia Faza procesora Faza wejścia-wyjścia Faza procesora 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 P1P2P3 czas oczekiwania: ( )/3=12,66 ms P1 P2 P3 czas oczekiwania: (0+4+10)/3=4,66 ms

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

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

11 Wywłaszczająca wersja SJF (SRTF) Uwzględnia nowe procesy w kolejce czas oczekiwania: ((10-1)+(1-1)+(16-2)+(5-3))/4= 6,25 ms procest przyb t tf P107 P214 P329 P P2 P4 P1 P3

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 czas oczekiwania: ( )/5= 8,2 ms procest fazy t tf P1103 P211 P324 P415 P P5 P1 P2 P3 P4

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 procest fazy P124 P23 P33 Kwant czasu: 4 ms P2 P3 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 Kwant = 16 FCFS 0 1 2

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 Littlea 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 "Systemy operacyjne Wykład nr 6: Planowanie przydziału procesora Piotr Bilski."

Podobne prezentacje


Reklamy Google