Planowanie przydziału procesora

Podobne dokumenty
Planowanie przydziału procesora

Planowanie przydziału procesora

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

Planowanie przydziału procesora

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

Informatyka, systemy, sieci komputerowe

Zarządzanie procesorem

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

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

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

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

Zarządzanie procesami i wątkami

Systemy operacyjne III

Systemy Operacyjne - zarządzanie procesami

Pytania do treści wykładów:

Materiały pomocnicze 1

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

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

Planowanie przydziału procesora

Procesy, wątki i zasoby

Procesy, zasoby i wątki

Procesy, zasoby i wątki

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

Przykłady implementacji planowania przydziału procesora

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

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

Procesy, zasoby i wątki

KOMPONENTY SYSTEMÓW OPERACYJNYCH

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

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

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

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

Systemy operacyjne Procesy i wątki

Elementy Modelowania Matematycznego

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

4. Procesy pojęcia podstawowe

Prezentacja systemu RTLinux

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

Materiały pomocnicze 1

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

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

4. Procesy pojęcia podstawowe

Urządzenia wejścia-wyjścia

Oprogramowanie systemowe

1. Szeregowanie w systemach czasu rzeczywistego

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

Oprogramowanie systemowe

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

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

Podstawy Informatyki Systemy operacyjne

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

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

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

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

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

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek

Modele procesów masowej obsługi

Oprogramowanie systemowe

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

Szeregowanie pakietów

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

4. Procesy pojęcia podstawowe

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

1.1 Definicja procesu

Stronicowanie w systemie pamięci wirtualnej

projektowanie systemu

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

Systemy operacyjne, architektura komputerów

Procesy, zasoby i wątki

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

System wejścia-wyjścia

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

Zarządzanie procesami (omawiane zagadnienia)

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3

Urządzenia wej.-wyj. Plan (1) Plan (2)

Urządzenia wej.-wyj.

Urządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia

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

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

* Wymień typowe standardy sygnałów procesowych: - analogowy - dwustanowe

Podstawowe zagadnienia

Systemy Czasu Rzeczywistego (SCR)

Programowanie Niskopoziomowe

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

Simulator of Operating System

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

Harmonogramowanie produkcji

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

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

Literatura TEORIA MASOWEJ OBSŁUGI TEORIA KOLEJEK. Teoria masowej obsługi. Geneza. Teoria masowej obsługi

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

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Transkrypt:

Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1

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 (zwany również dyspozytorem) ang. dispatcher) realizuje przekazanie sterowanie do procesu wybranego przez planistę (dokonuje przełączenia kontekstu). (3) Ogólna koncepcja planowania Tryb decyzji określa okoliczności, w których oceniane i porównywane są priorytety procesów oraz dokonywany jest wybór procesu do wykonania. Funkcja priorytetu funkcja wyznaczająca aktualny priorytet procesu na podstawie parametrów procesu i stanu systemu. Reguła arbitrażu reguła rozstrzygania konfliktów w dostępie do procesora w przypadku procesów o tym samym priorytecie. (4) 2

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. (5) 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 ze zmiennymi priorytetami (6) 3

Funkcja priorytetu Argumentami funkcji priorytetu są wybrane składowe stanu procesu oraz stanu systemu. Priorytet procesu w danej chwili jest wartością wynikową funkcji priorytetu dla bieżących wartości parametrów stanu danego procesu i aktualnego stanu systemu. (7) Argumenty funkcji priorytetu (1) 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 Rzeczywisty czas przebywania w systemie czas spędzony w systemie od momentu przyjęcia (czas obsługi + czas oczekiwania + czas realizacji żądań zasobowych) Czasowa linia krytyczna czas, po którym wartość wyników spada (nawet do zera, np. przy przewidywaniu pogody) (8) 4

Argumenty funkcji priorytetu (2) Priorytet zewnętrzny składowa priorytetu, która pozwala wyróżnić procesy ze względu na klasy użytkowników lub rodzaj wykonywanych zadań Wymagania odnośnie wielkości przestrzeni adresowej pamięci Obciążenie systemu liczba procesów przebywających w systemie i ubiegających się (potencjalnie) o przydział procesora lub innych zasobów, zajętość pamięci (9) Przykład realizacji przetwarzania Poniższy diagram przedstawia zmiany stanu 3 procesów w czasie i ma na celu zobrazowanie parametrów czasowych. wykonywanie oczekiwanie gotowość P 1 P 2 P 3 0 3 6 9 12 (10) 5

Reguła arbitrażu Losowo możliwe w przypadku, gdy liczba procesów o tym samym priorytecie jest niewielka Cyklicznie cykliczny przydział procesora kolejnym procesom Chronologicznie w kolejności przyjmowania procesów do systemu (w kolejności FIFO) (11) 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 procesów respektowanie zewnętrznych priorytetów procesów równoważenie obciążenia wykorzystania zasobów (12) 6

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 (reakcji, response time) czas pomiędzy przedłożeniem żądania, a rozpoczęciem przekazywania odpowiedzi. czas opóźnienia czas od linii krytycznej do momentu zakończenia wykonywania Inne aspekty z punktu widzenia użytkownika przewidywalność realizacja przetwarzania w zbliżonym czasie niezależnie od obciążenia systemu. (13) Algorytmy planowania niewywłaszczającego (1) FCFS (First Come First Served) pierwszy zgłoszony, pierwszy obsłużony LCFS (Last Come First Served) ostatni zgłoszony, pierwszy obsłużony SJF (SJN, SPF, SPN, Shortest Job/Process First/Next) najpierw najkrótsze zadanie (14) 7

Algorytmy planowania niewywłaszczającego (2) FCFS LCFS SJF (15) Algorytmy planowania wywłaszczającego (1) Planowanie rotacyjne (ang. Round Robin, RR) po ustalonym kwancie czasu proces wykonywany jest przerywany i trafia do kolejki procesów gotowych. SRT (Shortest Remaining Time) najpierw zadanie, które ma najkrótszy czas do zakończenia. (16) 8

Algorytmy planowania wywłaszczającego (2) RR SRT (17) Podstawowe algorytmy planowania a funkcja priorytetu Podstawowe algorytmy planowania można uzyskać przez odpowiednią definicję funkcji priorytetu. Parametrami funkcji priorytetu dla podstawowych algorytmy planowania są następujące atrybuty czasowe procesów: a bieżący (dotychczasowy) czas obsługi r rzeczywisty czas w systemie t całkowity wymagany czas obsługi (czas obsługi do momentu zakończenia) (18) 9

Własności algorytmów planowania algorytm priorytet tryb decyzji arbitraż FIFO r niewywłaszczeniowy losowy LIFO -r niewywłaszczeniowy losowy SJF -t niewywłaszczeniowy losowy lub chronologiczny SRT a - t wywłaszczeniowy losowy lub chronologiczny RR stały wywłaszczeniowy cykliczny (19) Przykłady uszeregowania bez wywłaszczeń wykonyw. gotowość FCFS P 1 P 2 P 3 SJF P 1 P 2 P 3 0 3 6 9 11 (20) 10

Przykłady uszeregowania z wywłaszczaniem wykonyw. gotowość SRT P 1 P 2 P 3 RR P 1 P 2 P 3 0 3 6 9 11 (21) Algorytmy SJF/SRT estymacja czasu obsługi Średnia arytmetyczna n 1 Sn+ 1 = Ti Sn+ n i = 1 1 T = n + ( n 1) n S n Średnia wykładnicza S S n+ 1 n+ 1 = αt = α T c = n n 1 i ( 1 α ) i = 0 + n + ( 1 α ) S α T i n 1 ( 1 α ) α T 1 + K + ( 1 α ) α T ( 1 α ) αt1 n n n i = n i (22) 11

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 przełączaniem kontekstu. Z punktu widzenia interakcji z użytkownikiem kwant czasu powinien być trochę większy, niż czas odpowiedzi (reakcji). (23) Dobór kwantu czasu, a czas odpowiedzi systemu kwant czasu > czas interakcji wykonywanie oczekiwanie czas odpowiedzi gotowość kwant czasu kwant czasu < czas interakcji kwant czasu czas odpowiedzi (24) 12

Inne algorytmy planowania (1) Planowanie priorytetowe oparte na priorytecie zewnętrznym Planowanie wielokolejkowe w systemie jest wiele kolejek procesów gotowych i każda z kolejek może być inaczej obsługiwana. Planowanie przed liniami krytycznymi zakończenie zadania przed czasową linią krytyczną lub możliwie krótko po tej linii (25) Inne algorytmy planowania (2) priorytetowe wielokolejkowe przed liniami krytycznymi (26) 13

Szeregowanie procesów, ograniczonych wejściem-wyjściem Procesy ograniczone wejściem-wyjściem potrzebują niewiele czasu procesora, większość czasu w systemie spędzając na oczekiwaniu na urządzenia zewnętrzne. Opóźnianie przydziału procesora dla tego typu procesów powoduje zmniejszenie wykorzystania urządzeń zewnętrznych, a przydział ze względu na nie długą fazę procesora nie powoduje istotnego zwiększenia czasu oczekiwania innych procesów. Właściwym algorytmem byłby SJF lub SRT. Bezwzględna preferencja dla procesów oczekujących na gotowość urządzeń może spowodować głodzenie procesów ograniczonych procesorem. (27) Wirtualne planowanie rotacyjne (VRR) główna kolejka procesów gotowych procesor pomocnicza kolejka procesów gotowych wej-wyj zamówienie operacji wej-wyj upłynięcie kwantu czasu sygnał synchronizacja (28) 14

Wielopoziomowe kolejki ze sprzężeniem zwrotnym poziom 0 procesor poziom 1 koniec fazy procesora poziom 2 M poziom n (29) Implementacja algorytmów planowania Z punktu widzenia przetwarzania użytkowego przełączanie kontekstu jest marnotrawstwem czasu procesora. Decyzja planisty musi zapaść w możliwie krótkim czasie. Struktury danych muszą być tak zaprojektowane, żeby ułatwić dokonanie szybkiego wyboru procesu o najwyższym priorytecie zgodnie z polityką planowania przydziału procesora (modelem matematycznym). (30) 15

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? (31) Kolejki priorytetowe Kolejka priorytetowa jest wielopoziomową kolejką ze sprzężeniem zwrotnym, w której każdy poziom odpowiada pewnej wartości priorytetu lub pewnemu zakresowi wartości. Umieszczenie procesu w kolejce priorytetowej sprowadza się do wyznaczenia pozycji odpowiedniej dla priorytetu procesu, a następnie umieszczeniu procesu na końcu kolejki na tej pozycji. Wybór procesu o najwyższym priorytecie sprowadza się do zlokalizowania pierwszej niepustej w kolejności malejących priorytetów i wybrania pierwszego procesu z tej kolejki. (32) 16