Wykład nr 6: Planowanie przydziału procesora

Slides:



Advertisements
Podobne prezentacje
Leszek Smolarek Akademia Morska w Gdyni 2005/2006
Advertisements

Leszek Smolarek Akademia Morska w Gdyni 2005/2006
Leszek Smolarek Akademia Morska w Gdyni 2005/2006
Wirtualizacja zasobów w systemach operacyjnych
Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
Wykład nr 8: Zakleszczenia
Podstawy Informatyki (4)
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
SYSTEMY OPERACYJNE PROCESY I WĄTKI
SYSTEMY OPERACYJNE PROCESY I WĄTKI
SYSTEMY OPERACYJNE PROCESY I WĄTKI
1 Linux jako system wielozadaniowy i wielodostępny.
Sprzężenie zwrotne Patryk Sobczyk.
Odśmiecanie Grzegorz Timoszuk
Dr inż. Bożena Mielczarek
Procesy poznawcze cd Uwaga.
System Operacyjny Zajęcia 4.
ANALITYCZNE MODELE SYSTEMÓW KOLEJKOWYCH
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Temat nr 10: System przerwań
TEORIA KOLEJEK opracowanie na podstawie :
TEORIA KOLEJEK opracowanie na podstawie :
Pomiary w inżynierii oprogramowania
Instytut Informatyki Teoretycznej i Stosowanej Polskiej Akademii Nauk Gliwice, ul. Bałtycka 5, Protokół TCP – kształtowanie.
ZARZĄDZANIE PROCESAMI
Język Java Wielowątkowość.
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Wykład 2 Cykl życia systemu informacyjnego
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Zdzisław Stryła Instytut Fizyki UAM
ogólne pojęcia struktury
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Ćwiczenia 3: System kolejkowy
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Plan prezentacji Zarys projektu Geneza tematu
Podstawowe usługi systemów operacyjnych
Dr inż. Bożena Mielczarek Wprowadzenie do Areny. Zadanie domowe nr 5.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Model I/O bazujący na HSWN Problem uczenia sieci HSWN
Buforowanie D e f i n i c j a.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy kolejkowe - twierdzenie Little’a
W ą t e k (lekki proces) thread.
Planowanie przydziału procesora
Przykłady implementacji planowania przydziału procesora
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wykład 8 Szeregowanie zadań
Symulacja dyskretna Dr inż. Bożena Mielczarek. Model nr 2. (Książka rozdz.8.3, str )  Wyroby napływają w tempie opisanym rozkładem wykładniczym.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Systemy Operacyjne Dr inż. Sławomir Samolej D108 A, tel: ,
BUDOWA I ZASADA DZIAŁANIA
Procesor, pamięć, przerwania, WE/WY, …
Uprawnienia w Windows Server
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Oprogramowaniem (software) nazywa się wszystkie informacje w postaci zestawu instrukcji i programów wykonywanych przez komputer oraz zintegrowanych danych.
Rodzaje systemów operacyjnych
Struktura systemu operacyjnego
Wstęp do programowania Wykład 7
Zapis prezentacji:

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

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

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

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

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.

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

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

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

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 0 3 8 17 26 czas oczekiwania: (0+3+8+17)/4= 7 ms

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

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 0 1 5 10 16 25 P2 P4 P1 P3 czas oczekiwania: ((10-1)+(1-1)+(16-2)+(5-3))/4= 6,25 ms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ć

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

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!

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

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