Szeregowanie w systemach czasu rzeczywistego

Podobne dokumenty
Szeregowanie w systemach czasu rzeczywistego

Planowanie procesów. rzeczywistego cz esto mówi si e o planowaniu zadań nie rozróżniajac, pami eci programu). Planowanie zadań 1

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

Planowanie procesów. rzeczywistego cz esto mówi si e o planowaniu zadań nie rozróżniajac, pami eci programu). Planowanie zadań 1

Zarządzanie procesami i wątkami

Organizacja systemu plików

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Planowanie procesów. rzeczywistego cz esto mówi si e o planowaniu zadań nie rozróżniajac, pami eci programu). Planowanie zadań 1

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

Wieloprogramowy system komputerowy

1. Szeregowanie w systemach czasu rzeczywistego

Ograniczenia czasowe RTS. Systemy czasu rzeczywistego. Kiedy RTS jest naprawd e potrzebny? Czy RTS po prostu musi być bardzo szybki?

Systemy czasu rzeczywistego

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

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

Planowanie przydziału procesora

Wieloprogramowy system komputerowy

Organizacja systemu plików

Planowanie przydziału procesora

Organizacja oprogramowania

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Pochodne cz ¾astkowe i ich zastosowanie.

Przydzia l zasobów. Przyk ladami takich zasobów sa: peryferyjne, jak drukarki, nap edy optyczne, itp.,

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

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

Wyk ad II. Stacjonarne szeregi czasowe.

Systemy operacyjne III

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

Prezentacja systemu RTLinux

Planowanie przydziału procesora

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

Paradygmaty programowania. Paradygmaty programowania

Ćwiczenie nr 520: Metody interpolacyjne planowania ruchu manipulatorów

Ekstrema funkcji wielu zmiennych.

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Zarządzanie procesorem

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

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

1 Rekodowanie w podgrupach i obliczanie wartości w podgrupach

Normy wektorów i macierzy

Organizacja systemu plików

us lugi katalogowe? Czym różni si e serwer katalogowy od serwera bazy danych:

Grupy i cia la, liczby zespolone

Jak matematyka pomaga w wyszukiwanie wzorca

Wyk lad 3 Wyznaczniki

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

informatycznych Witold Paluszyński Katedra Cybernetyki i Robotyki Wydzia l Elektroniki, Politechnika Wroc lawska

Systemy wejścia/wyjścia

Stronicowanie w systemie pamięci wirtualnej

Funkcje systemów operacyjnych czasu rzeczywistego

Materiały pomocnicze 1

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

Statystyka w analizie i planowaniu eksperymentu

Drzewa podstawowe poj

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

Paradygmaty programowania. Paradygmaty programowania

Analiza zrekonstruowanych śladów w danych pp 13 TeV

Statystyka w analizie i planowaniu eksperymentu

Uczenie nienadzorowane

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Wyk lad 14 Cia la i ich w lasności

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

Obliczenia rozproszone z wykorzystaniem MPI

(α + β) a = α a + β a α (a + b) = α a + α b (α β) a = α (β a). Definicja 4.1 Zbiór X z dzia laniami o wyżej wymienionych w lasnościach

20PLN dla pierwszych 50 sztuk oraz 15PLN dla dalszych. Zysk ze sprzedaży biurka wynosi 40PLN dla pierwszych 20 sztuk oraz 50PLN dla dalszych.

Pisemny egzamin dyplomowy. na Uniwersytecie Wroc lawskim. na kierunku matematyka. zadania testowe. 22czerwca2009r. 60 HS-8-8

4. Procesy pojęcia podstawowe

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

Dyskretne modele populacji

Ekonomia matematyczna i dynamiczna optymalizacja

pozycja klucza - offset klucza w rekordzie flaga pliku tymczasowego czas utworzenia bież acy rozmiar - liczba bajtów w pliku

4. Procesy pojęcia podstawowe

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Zaproszenie. Ocena efektywności projektów inwestycyjnych. Modelowanie procesów EFI. Jerzy T. Skrzypek Kraków 2013 Jerzy T.

Systemy Operacyjne Ćwiczenia

Wyk lad 11 1 Wektory i wartości w lasne

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Planowanie przydziału procesora

Dyskretne modele populacji

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Zastosowanie Robotów. Ćwiczenie 4. Mariusz Janusz-Bielecki. laboratorium

Informatyka, systemy, sieci komputerowe

Funkcje dwóch zmiennych

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

1.1 Definicja procesu

Systemy Operacyjne - zarządzanie procesami

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Programowanie generyczne w C++

Licencje na oprogramowanie i zasoby internetowe

P. Urzyczyn: Materia ly do wyk ladu z semantyki. Uproszczony 1 j. ezyk PCF

Wykład 3: Implementacja programów wbudowanych

Pytania do treści wykładów:

Architektura systemów komputerowych

Jeden przyk lad... czyli dlaczego warto wybrać MIESI.

Podstawowe zagadnienia

Systemy Czasu Rzeczywistego (SCR)

Transkrypt:

Szeregowanie w systemach czasu rzeczywistego Witold Paluszyński Katedra Cybernetyki i Robotyki Wydzia l Elektroniki, Politechnika Wroc lawska http://www.kcir.pwr.edu.pl/~witold/ 2011 2015 Ten utwór jest dost epny na licencji Creative Commons Uznanie autorstwa- Na tych samych warunkach 3.0 Unported Utwór udost epniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach. Udziela si e zezwolenia do kopiowania, rozpowszechniania i/lub modyfikacji treści utworu zgodnie z zasadami w/w licencji opublikowanej przez Creative Commons. Licencja wymaga podania oryginalnego autora utworu, a dystrybucja materia lów pochodnych może odbywać si e tylko na tych samych warunkach (nie można zastrzec, w jakikolwiek sposób ograniczyć, ani rozszerzyć praw do nich).

Szeregowanie procesów i watków Proces jest dynamicznym obiektem wykonujacym w systemie operacyjnym określony program. Istotna cecha procesu jest izolacja jego środowiska i zasobów od innych procesów, np. proces posiada w lasny przydzia l pami eci. W systemach z pami eci a wirtualna przestrzeń adresowa procesu jest adresowana liniowo od zera. Wi ekszość nowoczesnych systemów wspiera watki, nazywane czasem procesami lekkimi (lightweight processes). Watki funkcjonuja w ramach procesu, wykonuja kod procesu, i wspó ldziela mi edzy soba jego dane globalne i globalnie alokowane zasoby. Każdy watek posiada w lasna sekwencj e wykonywanych instrukcji programu, zwana śladem wykonania (execution trace). W kontekście systemów czasu rzeczywistego najcz eściej używa si e poj ecia zadania (task). W wielu przypadkach zadanie jest identyczne z procesem, aczkolwiek w niektórych systemach jest utożsamiane z watkiem. System operacyjny czasu rzeczywistego może wspierać tylko procesy, procesy z watkami, albo tylko watki. Podstawowa rola systemu w odniesieniu do zadań jest ich planowanie (scheduling), zwane również szeregowaniem, umożliwiajace ich równoleg le lub quasi-równoleg le wykonywanie. Planowanie oznacza wyznaczenie zadania, które powinno nast epnie rozpoczać wykonywanie na procesorze. Szeregowanie w systemach czasu rzeczywistego 3

Zadania Utworzenie zadania polega na przydzieleniu mu pami eci i za ladowaniu doń kodu programu, oraz zainicjalizowaniu struktury zwanej TCB (Task Control Block). Informacje typowo zawarte w TCB: ID zadania adres startowy kontekst: zawartość rejestrów, PC, rejestru stanu, itp. informacje do planowania: typ zadania, faza, okres, termin, liczba instancji, itp.... Umieszczenie przez planist e zadania w kolejce oznacza umieszczenie TCB tego zadania na liście innych TCB zadań w tej kolejce. Usuni ecie zadania z systemu polega na wykasowaniu jego TCB i dealokacji zajmowanej pami eci. Szeregowanie w systemach czasu rzeczywistego zadania 4

Zadania okresowe Zadania okresowe wykonuja si e w sposób powtarzalny. Ponieważ każdorazowe tworzenie, a nast epnie kasowanie zadania by loby nieefektywne, zatem system operacyjny, który wspiera zadania okresowe, po zakończeniu zadania reinicjalizuje je i umieszcza w kolejce zadań oczekujacych, a na poczatku nast epnego okresu wyzwala je (release), tzn. umieszcza w kolejce zadań gotowych. Do parametrów zadań okresowych, dostarczanych w chwili tworzenia zadania, i przechowywanych w TCB zadania należa: faza, okres, wzgl edny termin, i liczba instancji. Jeśli zadanie okresowe ma skończona liczb e instancji, to system może je wykasować po uruchomieniu zadana liczb e razy. Wiele systemów operacyjnych nie wspiera zadań okresowych. Moga one być zaimplementowane w postaci programu, który naprzemiennie wykonuje jakiś fragment swojego kodu, i zasypia do poczatku nast epnego okresu. Przyk ladowe systemy wspierajace zadania okresowe: Real-Time Mach, EPIQ. Szeregowanie w systemach czasu rzeczywistego zadania 5

Zadania aperiodyczne i sporadyczne Innym specyficznym rodzajem zadań sa zadania aperiodyczne. Sa one wyzwalane w odpowiedzi na wystapienie określonych zdarzeń. Zdarzenia te wyst epuj a sporadycznie i moga być wyzwolone przez zewn etrzne przerwanie. Po zakończeniu, zadanie aperiodyczne jest również reinicjalizowane i zawieszane. Zadania aperiodyczne moga być różnego rodzaju, moga pojawiać si e w dowolnym momencie, i moga mieć wymagania czasowe zarówno twarde jak i mi ekkie. Wśród nich jako specjalny rodzaj wyróżnia si e zadania sporadyczne. Zadania sporadyczne maja typowo twarde wymagania czasu rzeczywistego, ale jednocześnie maja określony maksymalna cz estotliwość pojawiania si e. Gdyby nie ta gwarancja, to nie da loby si e obliczyć bilansu czasowego ca lego systemu, i zapewnić spe lnienie przezeń ograniczeń czasu rzeczywistego. Szeregowanie w systemach czasu rzeczywistego zadania 6

Planowanie zadań Algorytmy planowania maja na celu zapewnienie spe lnienia wymagań czasowych ca lego systemu. Musza podejmować decyzj e o przydzielaniu zasobów systemu biorac pod uwag e najgorszy możliwy przypadek, lub czas odpowiedzi. G lówne grupy strategii planowania to: planowanie przed wykonaniem, i planowanie w czasie wykonywania. Celem planowania przed wykonaniem, albo inaczej: planowania statycznego, jest wyznaczenie odpowiedniej kolejności wykonywania zapewniajacej spe lnienie ograniczeń i bezkolizyjny dost ep do zasobów systemu. Planowanie przed wykonaniem może również minimalizować pewne narzuty systemowe, takie jak prze laczanie kontekstu, co zwi eksza szanse na wyznaczenie poprawnego porzadku wykonania. Planowanie w czasie wykonywania, inaczej: planowanie dynamiczne, zadaniom przyznawane sa priorytety, i zasoby sa nast epnie przydzielane wed lug tych priorytetów. W tym podejściu zadania moga generować przerwania i żadać zasobów w dowolny sposób. Jednak aby potwierdzić poprawność pracy systemu, konieczne sa testy i symulacje, w tym stochastyczne. Szeregowanie w systemach czasu rzeczywistego 7

Algorytmy planowania ogólnego przeznaczenia W systemach operacyjnych ogólnego przeznaczenia (GPOS - General Purpose Operating System) rozważa si e szereg modeli planowania, takich jak: algorytm FCFS First-Come-First-Served algorytm SJTF Shortest-Job-Time-First algorytm SRTF Shortest-Remaining-Time-First Algorytmy te sa zorientowane na maksymalizacj e wykorzystania procesora oraz skrócenie czasu oczekiwania dla zadań typowo obliczeniowych. W systemach czasu rzeczywistego nie maja one zastosowania. Do pewnego stopnia stosowane sa natomiast algorytmy: algorytm Round-Robin, inaczej planowania rotacyjnego algorytmy planowania oparte na priorytetach W przypadku wszystkich algorytmów planowania może być stosowane wyw laszczanie. Szeregowanie w systemach czasu rzeczywistego 8

Planowanie rotacyjne W najprostszym podejściu, planowanie rotacyjne (Round-Robin), zwane również karuzelowym, polega na sekwencyjnym uruchamianiu wszystkich zadań po kolei, aż do zakończenia każdego z nich. W wersji z podzia lem czasu, każde zadanie dostaje kwant czasu na wykonanie, i jeśli nie zakończy si e w ramach tego czasu, to generowane jest przerwanie, po którym zadanie jest sk ladowane i umieszczane na końcu kolejki zadań gotowych. Pierwsze zadanie z kolejki jest odtwarzane, i jego wykonywanie wznawiane. W efekcie, planowanie rotacyjne przydziela czas procesora sprawiedliwie wszystkim zadaniom o tym samym priorytecie. Szeregowanie w systemach czasu rzeczywistego 9

Planowanie rotacyjne plus priorytety Planowanie rotacyjne można po l aczyć z planowaniem priorytetowym z wyw laszczaniem. Szeregowanie w systemach czasu rzeczywistego 10

Strategie szeregowania RTOS priorytety i wyw laszczanie W najprostszym podejściu można osiagn ać wymagane szeregowanie zadań stosujac priorytety po laczone z wyw laszczaniem: Szeregowanie w systemach czasu rzeczywistego 11

Szeregowanie w systemach czasu rzeczywistego 12

Szeregowanie terminowe Jednym z popularnych i przydatnych podejść do szeregowania zadań w systemach czasu rzeczywistego jest szeregowanie terminowe (deadline scheduling). Opiera si e ono na uwzgl ednieniu wymagań wszystkich zadań sformu lowanych w postaci nieprzekraczalnych terminów wykonania. Moga to być terminy zakończenia lub terminy rozpocz ecia. Sam algorytm bywa nazywany EDF (Earliest Deadline First) i określa, że w pierwszej kolejności wykonywane jest zadanie, którego termin (rozpocz ecia lub zakończenia) przypada najwcześniej. Algorytm jest bardzo intuicyjny, ponieważ ludzie cz esto podejmuja decyzje w podobny sposób. Cz lowiek, który jest obciażony duża liczba zadań, do tego stopnia, że nie wie za co si e zabrać najpierw, cz esto zabiera si e za zadanie, którego nieuchronny termin wykonania nadchodzi najpierw. Szeregowanie w systemach czasu rzeczywistego 13

Szeregowanie terminowe dla zadań okresowych Decyzje planistyczne sa podejmowane okresowo. Odcinek czasu wystarczajaco d lugi aby wykonać wszystkie zadania okresowe jest nazywany ramka. D lugość ramki musi być równa co najmniej sumie czasów wykonywania wszystkich zadań gotowych. Szeregowanie w systemach czasu rzeczywistego 14

Szeregowanie w systemach czasu rzeczywistego 15

Szeregowanie w systemach czasu rzeczywistego 16

Szeregowanie cz estotliwościowe (RMS) Szeregowanie cz estotliwościowe (Rate-Monotonic Scheduling, RMS) polega na przydziale zadaniom sta lych priorytetów, odpowiadajacych ich okresom wykonywania. Poniższe twierdzenie, jedno z najważniejszych osiagni eć teoretycznych RTOS, określa optymalny algorytm planowania dla zestawu zadań okresowych. Twierdzenie (Liu): dla zestawu zadań okresowych, i planowania priorytetowego z wyw laszczaniem, przydzia l priorytetów nadajacy wyższe priorytety zadaniom z krótszym okresem wykonywania, daje optymalny algorytm planowania. Algorytm określania priorytetów zgodnie z powyższym twierdzeniem zwany jest algorytmem Rate-Monotonic. Szeregowanie w systemach czasu rzeczywistego 17

Szeregowanie w systemach czasu rzeczywistego 18

W lasności algorytmu planowania RM B edziemy si e pos lugiwać wartościa maksymalnego wykorzystania procesora U: U = n i=1 e i p i gdzie dla n zadań, e i jest czasem wykonania a p i okresem i-tego zadania. Twierdzenie (o kresie dla algorytmu RM): dla dowolnego zestawu n istnieje poprawny harmonogram planowania jeśli: U n(2 1/n 1) Szeregowanie w systemach czasu rzeczywistego 19

W lasności algorytmu planowania RM (cd.) Przedstawione twierdzenie określa, że im wi ecej zadań, tym trudniej b edzie znaleźć harmonogram planowania wykorzystujacy pe ln a wydajności procesora. Można obliczyć limit teoretyczny wykorzystania procesora dla nieskończonego zestawu zadań. Wynosi on ln2 0.69. Co wi ecej, już dla kilku zadań zbliża si e on do 70%. Dok ladniej: n 1 2 3 4 5 6... kres RMA 1.0 0.83 0.78 0.76 0.74 0.73... 0.69 Określony w twierdzeniu warunek jest jednak tylko warunkiem wystarczajacym. W określonych przypadkach jest możliwe planowanie zestawu zadań, których wykorzystanie procesora przekracza powyższy limit teoretyczny. Z lożone systemy czasu rzeczywistego osiagaj a cz esto wykorzystanie procesora rz edu 80% bez wi ekszych problemów. Szeregowanie w systemach czasu rzeczywistego 20

Planowanie RMS przyk lad Szeregowanie w systemach czasu rzeczywistego 21

Szeregowanie w systemach czasu rzeczywistego 22

Planowanie dynamiczne W przypadku gdy zestaw zadań nie ma sta lego, okresowego charakteru, metody planowania przed wykonaniem nie maja zastosowania. Planowanie w czasie wykonania, inaczej planowanie dynamiczne, musi brać pod uwag e wszystkie ograniczenia aktualnie istniejacych zadań. Szeregowanie w systemach czasu rzeczywistego 23

Szeregowanie w systemach czasu rzeczywistego 24

Zwróćmy uwag e, że szeregowanie terminowe (okresowe lub nie) ma sens bez stosowania wyw laszczania w przypadku uwzgl edniania nieprzekraczalnych terminów rozpocz ecia, natomiast w przypadku nieprzekraczalnych terminów zakończenia zwykle w laściwa jest strategia szeregowania z wyw laszczaniem. Szeregowanie w systemach czasu rzeczywistego 25

Planowanie dynamiczne algorytm EDF Jednym z prostych i dobrze znanych algorytmów planowania dynamicznego jest algorytm najbliższego terminu Earliest-Deadline-First (EDF). Najwyższy priorytet ma zawsze zadanie z najbliższym terminem (rozpocz ecia lub zakończenia). Można sformu lować nast epuj ace twierdzenie dla algorytmu EDF zastosowanego do zestawu zadań okresowych: Twierdzenie (o kresie dla algorytmu EDF): zestaw n zadań okresowych, których termin wykonania jest równy ich okresowi, może być poprawnie planowany algorytmem EDF jeśli: n i=1 e i p i 1 Algorytm EDF jest optymalny dla pojedynczego procesora z wyw laszczaniem. Inaczej, jeśli istnieje poprawny harmonogram, to EDF b edzie dzia la l poprawnie. Szeregowanie w systemach czasu rzeczywistego 26

Zadania sa uwalniane równocześnie, lecz τ 1 jest uruchamiane jako pierwsze ze wzgl edu na bliższy termin. Szeregowanie w systemach czasu rzeczywistego 27