Planowanie przydziału procesora

Podobne dokumenty
Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Planowanie przydziału procesora

Planowanie przydziału procesora

Zarządzanie procesorem

Planowanie przydziału procesora

Planowanie przydziału procesora

Informatyka, systemy, sieci komputerowe

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Planowanie przydziału procesora

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora.

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Planowanie przydziału procesora

Zarządzanie procesami i wątkami

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Systemy operacyjne III

Pytania do treści wykładów:

Systemy Operacyjne - zarządzanie procesami

Procesy, wątki i zasoby

Przykłady implementacji planowania przydziału procesora

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Planowanie przydziału procesora

Prezentacja systemu RTLinux

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Materiały pomocnicze 1

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego...

Podstawy Informatyki Systemy operacyjne

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

4. Procesy pojęcia podstawowe

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Programowanie współbieżne Wykład 2. Iwona Kochańska

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

4. Procesy pojęcia podstawowe

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

System operacyjny wstęp

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 2. Zasoby i procesy w systemach i sieciach komputerowych

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Systemy Operacyjne. Dr inż. Sławomir Samolej WWW: ssamolej.prz-rzeszow.pl

1. Szeregowanie w systemach czasu rzeczywistego

Materiały pomocnicze 1

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Systemy operacyjne Procesy i wątki

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Systemy Operacyjne. Dr inż. Sławomir Samolej WWW: ssamolej.prz-rzeszow.pl

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Procesy, zasoby i wątki

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu

4. Procesy pojęcia podstawowe

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

projektowanie systemu

Zarządzanie procesami (omawiane zagadnienia)

Urządzenia wejścia-wyjścia

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

1.1 Definicja procesu

LEKCJA TEMAT: Zasada działania komputera.

Szeregowanie pakietów

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

BSD - alternatywa dla Linuksa

Elementy Modelowania Matematycznego

projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Struktury danych: stos, kolejka, lista, drzewo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Stronicowanie w systemie pamięci wirtualnej

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

dr inż. Jarosław Forenc

Mikroprocesor Operacje wejścia / wyjścia

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Budowa systemów komputerowych

Wprowadzenie do systemów operacyjnych

Systemy Czasu Rzeczywistego (SCR)

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne, architektura komputerów

Podstawowe zagadnienia

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Programowanie Niskopoziomowe

Transkrypt:

Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja priorytetu funkcja zwracająca aktualny priorytet procesu na podstawie parametrów procesu i stanu systemu. Reguła arbitrażu reguła rozwiązywania konfliktów pomiędzy procesami o tym samym priorytecie. Systemy operacyjne Planowanie przydziału procesora 2

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 (ang. dispatcher) realizuje przekazanie sterowanie do procesu wybranego przez planistę (jest to najczęściej ostatni krok w przełączeniu kontekstu). Systemy operacyjne Planowanie przydziału procesora 3 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. Systemy operacyjne Planowanie przydziału procesora 4

Podejmowanie decyzji o wywłaszczeniu Utworzenie i przyjęcie nowego procesu. Obudzenie procesu w wyniku otrzymania komunikatu, sygnału gotowości urządzenia (przerwanie) lub sygnału wynikającego z synchronizacji. Upłynięcie kwantu czasu odmierzanego przez czasomierz. Wzrost priorytetu innego procesu w stanie gotowy powyżej priorytetu procesu wykonywanego możliwe w systemie z dynamicznym mechanizmem zmiany priorytetów. Systemy operacyjne Planowanie przydziału procesora 5 Wywłaszczanie selektywne Z każdym procesem wiąże się parę bitów (u p, v p ) o następującej interpretacji: u p 1, jeśli p może wywłaszczyć inny proces = 0, w przeciwnym przypadku v p 1, jeśli p może zostać wywłaszczony = 0, w przeciwnym przypadku Systemy operacyjne Planowanie przydziału procesora 6

Uogólnione wywłaszczanie selektywne (1) Z każdym procesem wiąże się parę priorytetów (Π p, Φ p ), w której Π p oznacza priorytet procesu w stanie gotowości, a Φ p oznacza priorytet procesu wykonywanego. Proces q może wywłaszczyć proces p, gdy Π q > Φ p Systemy operacyjne Planowanie przydziału procesora 7 Uogólnione wywłaszczanie selektywne (2) Uniwersalny mechanizm wywłaszczania selektywnego można by uzyskać, implementując macierz bitów, określających prawo wywłaszczenia. Ustawiony bit na pozycji (p, q) oznaczałby prawo wywłaszczenia procesu q przez proces p. Systemy operacyjne Planowanie przydziału procesora 8

Klasyfikacja SO ze względu na sposób przetwarzania Systemy przetwarzania bezpośredniego (ang. on-line processing systems) systemy interakcyjne występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu Systemy przetwarzania pośredniego (ang. off-line processing systems) systemy wsadowe występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania niemożliwa jest ingerencja użytkownika w wykonywanie zadania Systemy operacyjne Planowanie przydziału procesora 9 Pytania Jaki tryb decyzji obowiązuje w systemach przetwarzania bezpośredniego, a jaki w systemach wsadowych? Jak wygląda macierz praw wywłaszczania w systemach przetwarzania bezpośredniego, a jak w systemach wsadowych? Systemy operacyjne Planowanie przydziału procesora 10

Funkcja priorytetu Argumentami funkcji priorytetu są parametry procesu oraz stanu systemu. Priorytet procesu jest wartością funkcji priorytetu dla bieżących wartości parametrów danego procesu i aktualnego stanu systemu. Systemy operacyjne Planowanie przydziału procesora 11 Parametry funkcji priorytetu (1) wymagania odnośnie wielkości przestrzeni adresowej pamięci, czas oczekiwania czas spędzony w kolejce procesów gotowych (czas spędzony w stanie gotowości) czas obsługi czas, przez który proces był wykonywany (wykorzystywał procesor) od momentu przyjęcia do systemu Systemy operacyjne Planowanie przydziału procesora 12

Parametry funkcji priorytetu (2) rzeczywisty czas przebywania w systemie czas spędzony w systemie od momentu przyjęcia (czas obsługi + czas oczekiwania + czas realizacji żądań zasobowych), priorytet zewnętrzny składowa priorytetu, która pozwala wyróżnić procesy ze względu na klasy użytkowników. Systemy operacyjne Planowanie przydziału procesora 13 Parametry funkcji priorytetu (3) czasowa linia krytyczna określa czas po którym wartość wyników spada (nawet do zera, np. przy przewidywaniu pogody), obciążenie systemu liczba procesów przebywających w systemie i ubiegających się (potencjalnie) o przydział procesora. Systemy operacyjne Planowanie przydziału procesora 14

Zadanie Określić wartości parametrów czasowych procesów na poniższym diagramie wykonywanie oczekiwanie gotowość Systemy operacyjne Planowanie przydziału procesora 15 Reguła arbitrażu losowo możliwe w przypadku, gdy liczba procesów o tym samym priorytecie jest niska, cyklicznie cykliczny przydział procesora kolejnym procesom, w kolejności FIFO w kolejności przyjmowania procesów do systemu. Systemy operacyjne Planowanie przydziału procesora 16

Kryteria oceny algorytmów planowania (1) Efektywność z punktu widzenia systemu wykorzystanie procesora (processor utilization) procent czasu, przez który procesor jest zajęty pracą, przepustowość (throughput) liczba procesów kończonych w jednostce czasu. Inne aspekty z punktu widzenia systemu sprawiedliwość (fairness) równe traktowanie proc., respektowanie priorytetów procesów równoważenie obciążenia wykorzystania zasobów Systemy operacyjne Planowanie przydziału procesora 17 Kryteria oceny algorytmów planowania (2) Efektywność z punktu widzenia użytkownika czas cyklu przetwarzania (turnaround time) czas pomiędzy przedłożeniem zadania, a zakończeniem jego wykonywania (rzeczywisty czas przebywania w systemie w momencie zakończenie procesu), czas odpowiedzi (response time) czas pomiędzy przedłożeniem zadania, a uzyskaniem pierwszej odpowiedzi. Inne aspekty z punktu widzenia użytkownika przewidywalność realizacja przetwarzania w zbliżonym czasie niezależnie od obciążenia systemu. Systemy operacyjne Planowanie przydziału procesora 18

Algorytmy planowania niewywłaszczającego FCFS pierwszy zgłoszony, pierwszy obsłużony, LCFS ostatni zgłoszony, pierwszy obsłużony, SJF (SJN) najpierw najkrótsze zadanie, planowanie priorytetowe bazujące na priorytecie zewnętrznym, planowanie przed liniami krytycznymi zakończenie zadania przed czasową linią krytyczną lub możliwie krótko po tej linii. Systemy operacyjne Planowanie przydziału procesora 19 Algorytmy planowania wywłaszczającego Planowanie rotacyjne po ustalonym kwancie czasu proces wykonywany jest przerywany i trafia do kolejki procesów gotowych. SRT najpierw zadanie, które ma najkrótszy czas do zakończenia, Planowanie wielokolejkowe w systemie jest wiele kolejek procesów gotowych i każda z kolejek może być inaczej obsługiwana. Systemy operacyjne Planowanie przydziału procesora 20

FCFS (FIFO) Wykonywanie procesów w kolejności zgłaszania się do systemu Duży rozrzut czasu oczekiwania Systemy operacyjne Planowanie przydziału procesora 21 LCFS (LIFO) Wykonywanie procesów w kolejności odwrotnej do kolejności zgłaszania się do systemu Podejście nie stosowane w współczesnych systemach komputerowych. Systemy operacyjne Planowanie przydziału procesora 22

SJF (SJN) Wybierany jest proces, który ma najkrótszy czas obsługi. Daje minimalny średni czas oczekiwania Systemy operacyjne Planowanie przydziału procesora 23 Planowanie priorytetowe (ang. priority scheduling) Wybierany jest proces, który ma największy priorytet zewnętrzny. Systemy operacyjne Planowanie przydziału procesora 24

Planowanie rotacyjne (ang. Round Robin RR) Po upływie ustalonego kwant czasu 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!!! Systemy operacyjne Planowanie przydziału procesora 25 SRT Wybierany jest proces, który ma najkrótszą następną fazę procesora (wywłaszczająca wersja alg. SJF) Systemy operacyjne Planowanie przydziału procesora 26

Podział procesów na grupy (np. procesy interaktywne i procesy wsadowe) i wynikający z tego przydział do różnych kolejek procesów gotowych Możliwość przydziału różnych priorytetów oraz różnych algorytmów szeregowania do poszczególnych kolejek Planowanie wielokolejkowe Systemy operacyjne Planowanie przydziału procesora 27 Zadanie Zdefiniować funkcję priorytetu dla algorytmów FCFS LCFS SJN SRT jako funkcję zmiennych (parametrów procesu) a bieżący (dotychczasowy) czas obsługi r rzeczywisty czas w systemie t całkowity (do momentu zakończenia) czas obsługi Systemy operacyjne Planowanie przydziału procesora 28

Własności algorytmów planowania algorytm priorytet tryb decyzji arbitraż FIFO r niewywłaszczalny losowy LIFO -r niewywłaszczalny losowy SJN -t niewywłaszczalny losowy lub chronologiczny SRT a - t wywłaszczalny (przyjęcie proc.) losowy lub chronologiczny RR stały wywłaszczalny (kwant czasu) cykliczny Systemy operacyjne Planowanie przydziału procesora 29 Implementacja algorytmów planowania Z punktu widzenia przetwarzania użytkowego przełączanie kontekstu jest marnotrawstwem czasu procesora. Decyzja planisty krótkoterminowego musi zapaść w możliwie krótkim czasie. Struktury danych muszą dostarczyć informacji niezbędnych do dokonania szybkiego wyboru procesu o najwyższym priorytecie zgodnie z polityką planowania przydziału procesora (modelem matematycznym). Systemy operacyjne Planowanie przydziału procesora 30

Implementacja algorytmu FCFS Struktura danych dla kolejki procesów gotowych kolejka FIFO Umieszczenie procesu w kolejce procesów gotowych dopisanie procesu na końcu kolejki FIFO Wybór procesu do wykonania pobranie procesu z czoła kolejki FIFO Czy taki algorytm realizuje dokładnie założenia modelu matematycznego? Systemy operacyjne Planowanie przydziału procesora 31 Implementacja algorytmu LCFS Struktura danych dla kolejki procesów gotowych stos Umieszczenie procesu w kolejce procesów gotowych odłożenie procesu na szczycie stosu Wybór procesu do wykonania zdjęcie procesu ze szczytu stosu Czy taki algorytm realizuje dokładnie założenia modelu matematycznego? Systemy operacyjne Planowanie przydziału procesora 32

Implementacja algorytmu SJN Struktura danych dla kolejki procesów gotowych lista posortowana rosnąco wg. założonego całkowitego czasu obsługi Umieszczenie procesu w kolejce procesów gotowych wstawienie procesu do listy w kolejności zgodnej z całkowitym czasem obsługi Wybór procesu do wykonania zdjęcie pierwszego procesu z listy Systemy operacyjne Planowanie przydziału procesora 33 Algorytm FCFS w ujęciu probabilistycznym λ średnia częstotliwość przyjmowania procesów do systemu T s średni czas obsługi procesu µ maksymalna liczba procesów obsługiwanych w jednostce czasu µ = 1 T s Systemy operacyjne Planowanie przydziału procesora 34

Algorytm FCFS wykorzystanie procesora ρ średnie wykorzystanie procesora ρ λ T λ µ µ s = = Ts Jakie jest wykorzystanie procesora, gdy do systemu przybywa więcej procesów, niż procesor jest w stanie obsłużyć? Systemy operacyjne Planowanie przydziału procesora 35 Algorytm FCFS czas oczekiwania T w (p) czas oczekiwania procesu p na przydział procesora L liczba procesów oczekujących w momencie przyjęcia procesu p do systemu 1 1 1 Tw( p) = L Ts + Ts = L+ 2 2 µ Systemy operacyjne Planowanie przydziału procesora 36

Algorytm RR dobór kwantu czasu Krótki kwant czasu oznacza zmniejszenie czasu cyklu przetwarzania procesów krótkich, ale zwiększa narzut czasowy związany z obsługą przerwań i przełączaniem kontekstu. Z punktu widzenia interakcji z użytkownikiem kwant czasu powinien być trochę większy, niż czas potrzebny na typową interakcję. Systemy operacyjne Planowanie przydziału procesora 37 Dobór kwantu czasu, a czas odpowiedzi systemu czas odpowiedzi kwant czasu > czas interakcji kwant czasu kwant czasu < czas interakcji kwant czasu czas odpowiedzi Systemy operacyjne Planowanie przydziału procesora 38

Tradycyjne szeregowanie w Uniksie oznaczenia cpu i miara wykorzystania procesora przez proces i-ty w poprzednim okresie kontrolnym (od ostatniego przełączenia kontekstu w systemie), baza i priorytet bazowy procesu i-tego, nice i składowa priorytetu procesu i-tego definiowana przez użytkownika, pri i priorytet procesu i-tego (mniejsza wartość oznacza wyższy priorytet). Systemy operacyjne Planowanie przydziału procesora 39 Trad. szereg. w Uniksie przeliczanie priorytetu cpui cpui = 2 cpui pri = baza + + nice 2 i i i Systemy operacyjne Planowanie przydziału procesora 40

Trad. szereg. w Uniksie przykład 60 0 1... 60 0 60 0 60 75 30 60 0 1... 60 0 67 15 75 30 60 0 1... 60 63 7 8... 60 67 15 75 30 67 Systemy operacyjne Planowanie przydziału procesora 41