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

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

Systemy czasu rzeczywistego

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

Organizacja systemu plików

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

Wieloprogramowy system komputerowy

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

Organizacja systemu plików

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

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

Wieloprogramowy system komputerowy

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Planowanie przydziału procesora

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Planowanie przydziału procesora

1. Szeregowanie w systemach czasu rzeczywistego

Organizacja oprogramowania

Paradygmaty programowania. Paradygmaty programowania

Statystyka w analizie i planowaniu eksperymentu

Statystyka w analizie i planowaniu eksperymentu

Jak matematyka pomaga w wyszukiwanie wzorca

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

Statystyka w analizie i planowaniu eksperymentu

Normy wektorów i macierzy

Organizacja systemu plików

Grupy i cia la, liczby zespolone

Systemy wejścia/wyjścia

Zarządzanie procesami i wątkami

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Systemy operacyjne III

Wyk ad II. Stacjonarne szeregi czasowe.

1 Rekodowanie w podgrupach i obliczanie wartości w podgrupach

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

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

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

Funkcje systemów operacyjnych czasu rzeczywistego

Pochodne cz ¾astkowe i ich zastosowanie.

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

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

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

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

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

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

Prezentacja systemu RTLinux

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

4. Procesy pojęcia podstawowe

Planowanie przydziału procesora

(α + β) 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

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

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

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

Wyk lad 14 Cia la i ich w lasności

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

4. Procesy pojęcia podstawowe

Ekstrema funkcji wielu zmiennych.

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

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

Zarządzanie procesorem

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

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

Paradygmaty programowania. Paradygmaty programowania

Funkcje systemów operacyjnych czasu rzeczywistego

Obliczenia rozproszone z wykorzystaniem MPI

Systemy czasu rzeczywistego

Sterowalność liniowych uk ladów sterowania

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

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

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

Planowanie przydziału procesora

Archiwizacja danych. nie jeden ale wiele dysków), jak również przed jednoczesna

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

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

Zadania. kwiecień Ćwiczenia IV. w laściwe dla rotatora sztywnego hetoronuklearnej moleku ly. Rozwiazanie E JM = 2 J(J + 1).

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Dyskretne modele populacji

Watki. kod programu za ladowany do pami eci operacyjnej, wraz ze środowiskiem (zbiorem

Wyk lad 3 Wyznaczniki

Uczenie nienadzorowane

Programowanie generyczne w C++

Architektura systemów komputerowych

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

Topologie sieci komputerowych WAN

Wyk lad 11 1 Wektory i wartości w lasne

Systemy Operacyjne Ćwiczenia

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile)

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Ekonomia matematyczna i dynamiczna optymalizacja

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

Wyk lad 3 Wielomiany i u lamki proste

Drzewa podstawowe poj

Materiały pomocnicze 1

Wyk lad 5 Grupa ilorazowa, iloczyn prosty, homomorfizm

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 5 Kalkulacja sk ladki netto I

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

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

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 9

Problemy z priorytetami Przyk ladem zadania, któremu trudno przypisać w laściwy priorytet w systemie z wyw laszczaniem sterowanym priorytetami jest zadanie watchdoga. Zadanie takie wykonuje si e okresowo i bardzo d lugo. Jego szeregowanie (cykliczne) można opóźniać w czasie, ale tylko do pewnego momentu. Nadanie mu zbyt niskiego priorytetu w oczywisty sposób może doprowadzić do jego zag lodzenia przez inne zadania. Jednak nadanie mu wysokiego priorytetu może spowodować, że watchdog wyw laszczy jakiś istotnie krytyczny watek. Przyk ladem innych zadań trudnych do szeregowania metoda priorytetów sa zadania typowo obliczeniowe. Zadania te zajmuja dużo czasu procesora, i jakkolwiek moga być okresowo wyw laszczane przez zadania o krytycznych wymaganiach czasowych, to trudno zapewnić, by wiele takich zadań poprawnie si e wykonywa lo. W laściwym sposobem szeregowania dla nich by lby algorytm typu RR (Round-Robin rotacyjny) ignorujacy priorytety. Innym sposobem, zgodnym z szeregowaniem priorytetowym, by loby okresowe dobrowolne zwalnianie procesora przez takie zadania, jednak taka metod e trudno jest poprawnie zaimplementować. Szeregowanie w systemach czasu rzeczywistego 10

Zadania okresowe W systemach czasu rzeczywistego cz esto mamy do czynienia z zadaniami okresowymi. Zadania takie musza być wykonywane cyklicznie w nieskończonej p etli powtórzeń. Zadaniem systemu jest albo uruchamianie takich zadań z określonym okresem, albo bardziej typowo okresowe wznawianie takich zadań, które nigdy si e nie kończa, tylko po wznowieniu wykonuja swoje obliczenia i same zawieszaja si e zwalniajac procesor. Możemy traktować instancje danego zadania jako oddzielne zadania, które podlegaja szeregowaniu przez system. Szeregowanie w systemach czasu rzeczywistego 11

Szeregowanie w systemach czasu rzeczywistego 12

Szeregowanie cz estotliwościowe Cz esto stosowana strategia dla zadań okresowych w RTS jest szeregowanie cz estotliwościowe monotoniczne RMS (Rate Monotonic Scheduling). Metoda polega na przypisaniu zadaniom statycznych priorytetów proporcjonalnych do ich cz estotliwości wykonywania. Zadanie o wyższej cz estotliwości ma zawsze priorytet nad zadaniem o cz estotliwości niższej. Wykonujace si e zadanie jest wyw laszczane gdy uwolniona zosta la kolejna instancja zadania o wyższej cz estotliwości. Szeregowanie w systemach czasu rzeczywistego 13

Szeregowanie cz estotliwościowe (RMS) w lasności RMS jest algorytmem optymalnym pośród algorytmów z priorytetami statycznymi. Jeśli zbiór zadań da si e szeregować algorytmem z priorytetami statycznymi, to RMS również b edzie je poprawnie szeregować. 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. Szeregowanie w systemach czasu rzeczywistego 14

Szeregowanie cz estotliwościowe (RMS) w lasności (cd.) 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 RMS): dla dowolnego zestawu n istnieje poprawny harmonogram planowania jeśli: U n(2 1/n 1) Szeregowanie w systemach czasu rzeczywistego 15

Szeregowanie cz estotliwościowe (RMS) w lasności (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 zadań 1 2 3 4 5 6... kres RMS 1.0 0.83 0.78 0.76 0.74 0.73... 0.69 Strategia RMS pozwala z góry obliczyć czy system b edzie w stanie wykonywać wszystkie zadania zgodnie z ich wymaganiami, a także, jeśli by loby to niemożliwe, to można obliczyć które zadania nie zmieszcza si e w swoich reżimach czasowych. Zauważmy, że jeśli uruchomione w systemie zadania okresowe obciażaj a mniej niż 0.69 procesora, to można uruchomić dodatkowe zadania, niedzia lajace w czasie rzeczywistym, które moga wykorzystać pozosta le wolne 30% mocy procesora. Szeregowanie w systemach czasu rzeczywistego 16

Szeregowanie cz estotliwościowe (RMS) w lasności (cd.) RMS nie jest strategia globalnie optymalna. Określony w twierdzeniu warunek jest tylko warunkiem wystarczajacym, ale nie jest koniecznym dla realizowalności danego zestawu zadań. W określonych przypadkach jest możliwe planowanie zestawu zadań, których wykorzystanie procesora przekracza podany limit teoretyczny. Z lożone systemy czasu rzeczywistego osiagaj a cz esto wykorzystanie procesora rz edu 80% bez wi ekszych problemów. Dla losowo wygenerowanego zestawu zadań okresowych szeregowanie jest możliwe do wartości oko lo 0.85 (ale bez gwarancji). Szeregowanie w systemach czasu rzeczywistego 17

Planowanie RMS przyk lad Szeregowanie w systemach czasu rzeczywistego 18

Szeregowanie terminowe Istota przetwarzania w RTOS jest aby określone zdarzenia wyst epowa ly w określonym czasie. Jeśli zdefiniujemy pożadany czas rozpocz ecia i/lub zakończenia wszystkich zadań, to system może obliczyć w laściwe szeregowanie zapewniajace spe lnienie wszystkich ograniczeń. Taka metoda jest nazywana szeregowaniem terminowym (deadline scheduling). Stosowana jest skrótowa nazwa tego algorytmu EDF (earliest deadline first). Szeregowanie terminowe może uwzgl edniać terminy rozpocz ecia lub zakończenia zadań. Typowym, cz esto spotykanym terminem wykonania (zakończenia) instancji zadania jest moment czasowy uwolnienia nast epnej jego instancji. 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 19

Szeregowanie terminowe dla zadań okresowych Szeregowanie w systemach czasu rzeczywistego 20

Szeregowanie terminowe w lasności Algorytm szeregowania terminowego EDF dla pojedynczego procesora z wyw laszczaniem jest optymalny w takim sensie, że jeśli dany zbiór zadań, każde z określonym okresem, czasem uwolnienia, czasem obliczeń, i terminem zakończenia, jest szeregowalny jakimkolwiek algorytmem zapewniajacym dotrzymanie czasów ukończenia, to EDF również b edzie poprawnie szeregować ten zbiór zadań. Jeśli terminy zakończenia zadań sa równe końcowi ich okresów, to EDF b edzie je poprawnie szeregowa l w lacznie do wspó lczynnika wykorzystania procesora U = 100%. Zatem warunkiem szeregowalności zestawu zadań algorytmem EDF jest nieprzekroczenie 100% wykorzystania procesora, co stanowi przewag e tego algorytmu nad RMS. Jednak gdy system zaczyna być przeciażony to nie jest możliwe wyznaczenie zadania, które przekroczy swój termin (bo zależy to od konkretnych zadań terminów, oraz momentu, w którym wystapi przeciażenie). Stanowi to istotna wad e tego algorytmu, w odróżnieniu od algorytmu RMS. Zwróćmy uwag e, że szeregowanie terminowe (okresowe lub nie) ma sens (również) bez stosowania wyw laszczania w przypadku uwzgl edniania nieprzekraczalnych terminów rozpocz ecia, natomiast w przypadku nieprzekraczalnych terminów zakończenia należy stosować wyw laszczanie. Szeregowanie w systemach czasu rzeczywistego 21

Szeregowanie w systemach czasu rzeczywistego 22

Planowanie dynamiczne procesy nieokresowe 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ń. Możemy wtedy zastosować algorytm EDF. Szeregowanie w systemach czasu rzeczywistego 23

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 24

Algorytm EDF w lasności 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 25

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

Szeregowanie przez partycjonowanie Innym podejściem do algorytmów szeregowania RTOS jest partycjonowanie, czyli podzia l na podsystemy, które otrzymuja z góry określona, gwarantowana cz eść czasu procesora. W tej architekturze system zapewnia przydzia l procesora, ochron e pami eci, i komunikacj e mi edzyprocesow a pomi edzy partycjami, natomiast w ramach danej partycji funkcjonuje szeregowanie priorytetowe. Szeregowanie w systemach czasu rzeczywistego 27

Szeregowanie przez partycjonowanie (cd.) Metoda partycjonowania dzia la poprawnie i bardzo niezawodnie, i jest szeroko stosowana w silnych systemach RT, szczególnie wojskowych, naprowadzania rakiet, awioniki, itp. Jej typowe zastosowania to sa systemy statyczne, gdzie wykonano bardzo dok ladne analizy (np. analizy RMS) weryfikujace poprawność dzia lania, i nie wprowadza si e już żadnych modyfikacji do kodu. W przypadku cz estych zmian metoda staje si e kosztowna. Innymi oczywistymi wadami tej metody sa: nieefektywne wykorzystanie procesora, oraz niemożność obs lugi przerwań z opóźnieniem mniejszym niż okres przydzia lu procesora dla danej partycji. Szeregowanie w systemach czasu rzeczywistego 28

Partycjonowanie adaptacyjne W partycjonowaniu adaptacyjnym system operacyjny zapewnia w każdej partycji przydzia l CPU zgodny ze specyfikacja, jednak w przypadku zwalniania procesora w jednej partycji system stopniowo przydziela ten czas innym partycjom zg laszajacym zapotrzebowanie na CPU. Szeregowanie w systemach czasu rzeczywistego 29

Krótkie podsumowanie pytania sprawdzajace 1. Jakie strategie szeregowania stosowane sa w systemach czasu rzeczywistego? Wymień te w laściwe dla zadań okresowych i nieokresowych? 2. Które strategie szeregowania czasu rzeczywistego wymagaja wyw laszczania? 3. Kiedy strategia szeregowania może być stosowana bez wyw laszczania? 4. Przeanalizuj prac e algorytmu RMS dla dwóch zadań z parametrami: C 1 = 25, T 1 = 50, C 2 = 30, T 2 = 75. Jak ma si e uzyskany wynik do podanego wyżej warunku teoretycznego szeregowalności zbioru zadań? 5. Zastosuj do przyk ladowych zadań z poprzedniego pytania algorytm EDF z czasami uwolnienia zadań równymi poczatkom ich okresów, i terminami zakończenia równymi końcom okresów. Szeregowanie w systemach czasu rzeczywistego 30