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

Podobne dokumenty
Szeregowanie w systemach czasu rzeczywistego

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

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 przydziału procesora

Planowanie przydziału procesora

Zarządzanie procesami i wątkami

Zarządzanie procesorem

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

Systemy czasu rzeczywistego

Wieloprogramowy system komputerowy

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

Planowanie przydziału procesora

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

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

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

Planowanie przydziału procesora

Wieloprogramowy system komputerowy

Statystyka w analizie i planowaniu eksperymentu

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

Organizacja systemu plików

Statystyka w analizie i planowaniu eksperymentu

Materiały pomocnicze 1

Organizacja systemu plików

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

Normy wektorów i macierzy

Grupy i cia la, liczby zespolone

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

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

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Drzewa podstawowe poj

Systemy wejścia/wyjścia

Informatyka, systemy, sieci komputerowe

Systemy Operacyjne - zarządzanie procesami

Paradygmaty programowania. Paradygmaty programowania

Statystyka w analizie i planowaniu eksperymentu

Jak matematyka pomaga w wyszukiwanie wzorca

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

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

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe

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

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

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

Systemy operacyjne III

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Organizacja oprogramowania

1. Szeregowanie w systemach czasu rzeczywistego

1 Rekodowanie w podgrupach i obliczanie wartości w podgrupach

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Prezentacja systemu RTLinux

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

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

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

1 Praktyczne metody wyznaczania podstawowych miar przy zastosowaniu programu EXCEL

Funkcje systemów operacyjnych czasu rzeczywistego

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

Pochodne cz ¾astkowe i ich zastosowanie.

projektowanie systemu

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

Wyk lad 3 Wielomiany i u lamki proste

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

Przerwania, polling, timery - wykład 9

Wyk ad II. Stacjonarne szeregi czasowe.

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

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Organizacja systemu plików

Wyk lad 3 Wyznaczniki

Paradygmaty programowania

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

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

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

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

Systemy czasu rzeczywistego

Materiały pomocnicze 1

Architektura systemów komputerowych

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

Pytania do treści wykładów:

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

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

Obliczenia rozproszone z wykorzystaniem MPI

KOMPONENTY SYSTEMÓW OPERACYJNYCH

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

Paradygmaty programowania. Paradygmaty programowania

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

WYK LAD 2: PODSTAWOWE STRUKTURY ALGEBRAICZNE, PIERWIASTKI WIELOMIANÓW, ROZK LAD FUNKCJI WYMIERNEJ NA U LAMKI PROSTE

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Ekstrema funkcji wielu zmiennych.

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Planowanie przydziału procesora

Planowanie przydziału procesora

Planowanie przydziału procesora

Systemy operacyjne. Paweł Pełczyński

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Procesy. W sk³ad procesu wchodzi:

Algebra i jej zastosowania ćwiczenia

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Stacjonarne Kod kierunku: 06.

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

Transkrypt:

Planowanie procesów Proces jest dynamicznym obiektem wykonujacym w systemie operacyjnym określony program. Planowaniem (scheduling), lub alternatywnie szeregowaniem, nazywamy czynność rozdzielania czasu procesora na poszczególne procesy, zapewniajac a ich quasi-równoleg le wykonywanie. Proces jest podstawowa jednostka robocza planowana przez system. W niektórych systemach operacyjnych wyst epuj a watki w dodatku lub zamiast procesów i wtedy one podlegaja planowaniu w podobny sposób. W kontekście systemów czasu rzeczywistego cz esto mówi si e o planowaniu zadań nie rozróżniajac, czy sa one procesami (z oddzielnym przydzia lem pami eci), czy watkami (wspó ldzielacymi przydzia l pami eci programu). Planowanie zadań 1

Prze l aczanie kontekstu Zast epowanie procesu dotychczas wykonywanego na procesorze innym procesem, wynikajace z planowania, wymaga zapisania stanu obliczeń w taki sposób, aby by lo możliwe ich wznowienie w sposób niezauważony przez proces. Nast epnie, za ladowanie i uruchomienie innego procesu wymaga odtworzenia stanu wszystkich rejestrów procesora, wcześniej zapami etanych. Ta operacja sk ladowania i odtwarzania stanu procesora ze wszystkimi rejestrami nazywana jest prze l aczeniem kontekstu. Stanowi ona istotny narzut na wykonywanie procesu, albo dodatkowe obciażenie systemu, ponieważ czas poświ econy na prze laczanie kontekstu jest tracony, procesor nie wykonuje w tym czasie zadanych obliczeń. Prze laczanie kontekstu nie może zatem być wykonywane zbyt cz esto, ponieważ w takim przypadku czas na nie tracony by lby zauważalny na poziomie systemu. Szybkość prze laczania kontekstu zależy też od wsparcia sprz etowego. W niektórych architekturach wyst epuje kilka zbiorów rejestrów. Wówczas prze laczenie kontekstu może polegać na prze laczeniu wskaźnika bieżacego zestawu rejestrów, i nie trzeba ich zapami etywać i odtwarzać. Planowanie zadań prze l aczanie kontekstu 2

Blok kontrolny procesu PCB Blok kontrolny procesu (Process Control Block PCB) zawiera g lówne informacje o stanie procesu. Stan procesu jest zapisywany przy prze laczaniu kontekstu i odtwarzany na podstawie zawartości PCB przy wznawianiu obliczeń na procesorze. PCB zawiera również informacje o procesie wykorzystywane w algorytmach planowania. W szczególności: identyfikator procesu, adres startowy, kontekst: stan procesu, licznik instrukcji (PC), zawartość rejestrów, informacje zwiazane z planowaniem, informacje zwiazane z synchronizacja, informacje zwiazane z zarzadzaniem pami eci a, informacje dotyczace zużycia czasu, informacje o stanie wejścia-wyjścia,... Umieszczenie przez planist e procesu w kolejce procesów wykonywanych oznacza umieszczenie PCB tego procesu na liście innych PCB w tej kolejce. Usuni ecie procesu z systemu polega na wykasowaniu jego PCB i dealokacji zajmowanej pami eci. Planowanie zadań prze l aczanie kontekstu 3

Planista i dyspozytor W realizacji planowania biora udzia l nast epuj ace modu ly systemu operacyjnego: planista (scheduler) podejmuje decyzje, który z procesów gotowych powinien być nast epnie wykonywany na procesorze, dyspozytor (dispatcher), zwany czasami alternatywnie egzekutorem albo ekspedytorem wykonuje wszystkie czynności administracyjne zwiazane z prze laczaniem kontekstu przy przenoszeniu jednych procesów do kolejki gotowych, a innych na procesor. Modu ly planisty i dyspozytora normalnie zlokalizowane sa w jadrze (kernel) systemu operacyjnego. W niektórych systemach, modu l planowania może być wydzielony z jadra (zwanego wtedy nanojadrem) i wykonywany jako oddzielny proces. W literaturze systemów operacyjnych wyróżnia si e zadania planisty krótkoterminowego, średnioterminowego, i d lugoterminowego. W laściwym planista, o którym tu b edzie mowa jest planista krótkoterminowy. Planiści średnioterminowy i d lugoterminowy biora udzia l w utworzeniu zadania w kolejce zadań gotowych i podj eciu decyzji o przydziale mu pami eci. Te zagadnienia nie b ed a tu omawiane. Planowanie zadań prze l aczanie kontekstu 4

Wyw laszczanie Można wyróżnić dwa rodzaje algorytmów planowania: niewyw laszczeniowe Proces jest usuwany z procesora wy lacznie w momencie jego zakończenia, albo gdy sam dobrowolnie poprosi o przeniesienie do kolejki gotowych (patrz np. funkcja systemowa sched_wait). Takie planowanie ogranicza do minimum aktywność planisty i dyspozytora i maksymalizuje użyteczny czas procesora. wyw laszczeniowe Proces może być usuni ety z procesora w wyniku podj ecia takiej decyzji przez planist e w którymkolwiek z momentów wymienionych wcześniej. Przy stosowaniu planowania niewyw laszczeniowego jest możliwe, że proces b edzie wykonywa l si e na procesorze bardzo d lugo (np. wiele godzin lub dni) nie dopuszczajac innych procesów do wykonania. Planowanie zadań wyw laszczanie 5

Zag lodzenie i sprawiedliwość Niektóre strategie planowania moga doprowadzić do sytuacji, kiedy pewien proces, lub procesy, b ed a wielokrotnie pomijane i nieuruchamiane przez planist e, w zgodzie z przyj etym algorytmem planowania. Jest to możliwe jeśli stale b ed a si e pojawia ly nowe procesy, które powinny być uruchomione wcześniej. To zjawisko zwane jest zag lodzeniem procesu, i jest niepożadanym efektem ubocznym pewnych algorytmów planowania. W zwiazku z tym w tych algorytmach stosuje si e dodatkowe zabezpieczenia, ingerujace w algorytm planowania i nie dopuszczajace do zag lodzenia. Unikanie zag lodzenia procesów jest wyrazem ogólnej zasady sprawiedliwości (ang. fairness), albo egalitaryzmu, obowiazuj ac a w systemach operacyjnych ogólnego przeznaczenia (GPOS General Purpose Operating System). Zasada ta mówi, że równoprawne z punktu widzenia systemu procesy powinny otrzymać równy dost ep do zasobów systemu. Obowiazuje ona w przydziale: procesora, pami eci, i innych zasobów. Zauważmy, że zasad e t e można odnosić do wszystkich procesów równo, albo też do wszystkich użytkowników. Planowanie zadań zag lodzenie i sprawiedliwość 6

Cele planowania Można brać pod uwag e różne kryteria jakości planowania procesów, i dostosować do nich strategi e planowania. Te kryteria sa jednak do pewnego stopnia, lub ca lkowicie, ze soba sprzeczne. Planowanie może zatem optymalizować: wykorzystanie procesora średni czas efektywnych obliczeń, odwrotność czasu traconego na puste cykle, oraz czasu zużytego na prze laczenia kontekstu, przepustowość średnia liczb e procesów wykonanych na jednostk e czasu, czas przetwarzania średni ca lkowity czas przetwarzania zadania, od pojawienia si e do zakończenia, czas oczekiwania średni sumaryczny czas sp edzony przez proces w kolejce procesów gotowych. W dodatku do powyższych kryteriów obowiazuj a ograniczenia: równe traktowanie procesów i niedopuszczenie do zag lodzenia. Planowanie zadań kryteria 7

Krótkie podsumowanie pytania sprawdzajace Odpowiedz na poniższe pytania: 1. Co to jest prze laczanie kontekstu? 2. Jaki jest zwiazek pomi edzy zadaniami planisty i dyspozytora? 3. Jaka rol e pe lni wyw laszczanie procesów? 4. Na czym polega sprawiedliwość w planowaniu procesów? 5. Jakie kryteria może optymalizować algorytm planowania? Planowanie zadań 8

Strategia FCFS Najprostszym algorytmem planowania jest FCFS (First-Come, First-Served), czyli pierwszy przyszed l pierwszy obs lużony. FCFS jest strategi a bez wyw laszczania. Procesy sa wykonywane od poczatku do końca w takiej kolejności, w jakiej si e pojawi ly. Proces P1 P2 P3 Czas wykon. 6 3 2 Proces P2 P3 P1 Czas wykon. 3 2 6 Warto zwrócić uwag e na to, że zadanie planisty przy tej strategii jest zredukowane do minimum (utrzymywanie kolejki). Zatem algorytm minimalizuje narzuty planowania. Planista nie musi też znać wymagań czasowych zadania. Planowanie zadań FCFS 9

Strategia SJF Inna strategia planowania bez wyw laszczania jest SJF (Shortest-Jobtime-First), czyli najpierw najkrótsze zadanie. Spośród wszystkich gotowych uruchomiony zostaje proces, który ma najkrótszy ca lkowity czas wykonywania. Jego celem jest minimalizacja średniego czasu przetwarzania zadania. W tym celu jednak ten czas dla wszystkich procesów musi być znany planiście. Proces Czas Czas uwoln. wykon. P4 5 2 P3 4 1 P2 2 5 P1 0 8 Planowanie zadań SJF 10

Strategia SRTF Odmiana algorytmu SJF z dodanym wyw laszczaniem jest SRTF (Shortest-Remaining-Time-First), czyli najpierw proces o najkrótszym pozosta lym czasie wykonania. Zauważmy, że tu planista musi być wywo lany, poza momentem zakończenia każdego procesu jak zwykle, jedynie w chwili pojawienia si e nowego procesu, wybierajac ten z najkrótszym pozosta lym przewidywanym czasem obliczeń. Proces Czas Czas uwoln. wykon. P4 5 2 P3 4 1 P2 2 5 P1 0 8 Proces P1 P2 P3 P4 P2 P1 Czas rozpocz ecia 0 2 4 5 7 10 Czas wykonany 2 2 1 2 3 6 Czas pozosta ly 6 3 0 0 0 0 Planowanie zadań SRTF 11

Szacowanie fazy procesora Zastanówmy si e, jak oszacować czas nast epnej fazy procesora, potrzebny do realizacji strategii SJF i SRTF? Planista z regu ly nie wie ile b edzie trwa la kolejna faza procesora. Jednak gdy traktujemy czas życia procesu jako sk ladajacy si e z szeregu faz obliczeniowych, przedzielonych fazami I/O, to system zna d lugości jego poprzednich faz obliczeniowych. Zwykle fazy kolejne maja podobna charakterystyk e jak poprzednie. Jedna ze stosowanych metod szacowania nast epnej fazy procesora na podstawie d lugości poprzednich jest uśrednianie wyk ladnicze. D lugość kolejnej fazy procesora szacujemy jako średnia ważona d lugości poprzednich faz, przy czym wagi tworza rosnacy ciag geometryczny (najwi eksz a wag e ma ostatnia faza). Planowanie zadań szacowanie fazy procesora 12

Zadania wsadowe i interakcyjne W systemach operacyjnych moga pojawiać si e zadania o różnej charakterystyce. Dwie ważne grupy zadań stanowia: (i) zadania obliczeniowe (zwane również wsadowymi), które typowo wykonuja obliczenia na procesorze i odwo luj a si e g lównie do pami eci RAM, i (ii) zadania interakcyjne, które typowo oczekuja na dane z interfejsów I/O i wykonuja krótkie obliczenia, lub kolejne transfery I/O, w odpowiedzi na otrzymane dane. Zadania interakcyjne moga być zwiazane z praca cz lowieka na komputerze typu PC, ale moga to być również serwery odpowiadajace na żadania nap lywaj ace z sieci, albo przetwarzajace dane z pomiarów, itp. Odmienny profil tych zadań powoduje, że przy ich szeregowaniu znaczenie maja różne kryteria, i lepiej nadaja si e do nich różne algorytmy szeregowania. Omówione dotychczas algorytmy szeregowania FCFS, SJF, i SRTF optymalizuja g lównie wykorzystanie procesora i czas przetwarzania. Powoduje to, że dobrze nadaja si e do planowania zadań obliczeniowych, natomiast nie bardzo do zadań interakcyjnych, gdzie podstawowym kryterium powinny być: czas oczekiwania i przepustowość. Planowanie zadań wsadowe i interakcyjne 13

Planowanie zadań wsadowe i interakcyjne 14

Planowanie rotacyjne RR (Round-Robin), czyli planowanie rotacyjne, to strategia, w której każdy proces po kolei otrzymuje kwant czasu procesora do wykorzystania, po czym jest wyw laszczany. Zwykle jest to oko lo 10-100 milisekund. Żaden proces nie czeka wi ec d lużej na procesor niż d lugość kwantu razy liczba procesów. Proces Czas Czas uwoln. wykon. P4 8 1 P3 5 5 P2 2 7 P1 0 5 P4 P3 P2 P1 Czas 0 2 4 6 8 10 12 14 16 18 20 Proces P1 P1 P2 P1 P3 P2 P4 P3 P2 P3 P2 Czas rozpocz ecia 0 2 4 6 7 9 11 12 14 16 17 Czas wykonany 2 2 2 1 2 2 1 2 2 1 1 Czas pozosta ly 3 1 5 0 3 3 0 1 1 0 0 Planowanie zadań rotacyjne 15

Planowanie rotacyjne jest zupe lnie inna strategia planowania od przedstawionych wcześniej. Nadaje si e ono g lównie do planowania zadań interakcyjnych, gdzie najważniejszym kryterium jest krótki czas reakcji. Planowanie rotacyjne powoduje znacznie wi ecej prze l aczeń kontekstu niż poprzednie algorytmy planowania, jest wi ec dość kosztowna strategia. Kwant czasu przydzielany procesom musi być co najmniej o rzad wielkości wi ekszy niż czas prze laczenia kontekstu. W przeciwnym wypadku narzuty generowane przez planowanie b ed a znaczace, a nawet moga przewyższyć rzeczywista prac e wykonywana przez system na obliczenia procesów. Planowanie zadań rotacyjne 16

Planowanie priorytetowe Jeżeli dla każdego procesu określimy liczb e reprezentujac a jego priorytet, to możliwe jest planowanie priorytetowe. Procesor jest przydzielany procesowi, który ma najwi ekszy priorytet. Możemy rozróżnić wersj e wyw laszczeniow a, gdy proces jest usuwany z procesora natychmiast po pojawieniu si e procesu o wyższym priorytecie, oraz wersj e niewyw laszczeniow a, gdy procesy okresowo dobrowolnie zwalniaja procesor, i żaden nie jest wyw laszczany. Planowanie priorytetowe jest atrakcyjne ponieważ pozwala latwo określić, który proces b edzie wykonywany przed którym. Dlatego bywa ch etnie stosowane w systemach gdzie konieczne jest zagwarantowanie określonej kolejności wykonania procesów, jak systemy czasu rzeczywistego, systemy wbudowane, systemy wojskowe, itp. Jednak prawid lowe zdefiniowanie priorytetów dla określonych wymagań jest proste tylko gdy system jest ma ly, typu kilku do kilkunastu procesów. Gdy liczba procesów jest wi eksza, określenie w laściwych wartości priorytetów zaczyna być problemem. Planowanie zadań priorytetowe 17

Priorytety statyczne i dynamiczne Priorytety moga być przydzielone zadaniom sztywno (statycznie), wed lug schematu określonego przez programist e lub administratora systemu. Jednak to da si e zrobić jedynie w odniesieniu do systemów zamkni etych, w których istnieje określona pula zadań o dobrze znanych w lasnościach. 1 W systemach otwartych priorytety musza być przydzielane pojawiajacym si e nieznanym zadaniom. Inteligentny planista może przydzielać zadaniom wst epne priorytety wed lug jakiegoś przyj etego schematu, a nast epnie dynamicznie aktualizować je na podstawie obserwacji ich pracy. Sensowna strategia by loby rozpoznawanie zadania jako obliczeniowego, i obniżanie jego priorytetu, lub jako interakcyjnego, i podwyższanie priorytetu. Wtedy maksimum zasobów obliczeniowych b edzie przydzielane procesom interakcyjnym, natomiast procesy obliczeniowe b ed a wykonywane tylko w przerwach, gdy wszystkie procesy interakcyjne dobrowolnie zwolnia procesor. W ten sposób, planowanie priorytetowe nadaje si e zarówno do planowania procesów obliczeniowych, interakcyjnych, jak i mieszanych. 1 A nawet w takich systemach statyczny przydzia lpriorytetówjest nietrywialnymzadaniem, gdy pojawia si e duża liczba procesów o z lożonych zadaniach. Planowanie zadań priorytetowe 18

Strategie z lożone W systemie planujacym wykonanie zadań algorytmem priorytetowym może pojawić si e wiele zadań o tym samym priorytecie. Wcale nie musi to być przypadek ani sytuacja wyjatkowa. Zadania zwykle maja priorytety przydzielane wed lug pewnego schematu. Jeśli wi ec zostanie uruchomiona pewna liczba podobnych zadań to b ed a one mieć równe priorytety. A wtedy, spośród grupy zadań, które wszystkie maja najwyższy priorytet, które powinno zostać uruchomione pierwsze? Przypadkowy ich wybór zwykle nie jest dobrym rozwiazaniem, bo jego wynikiem b edzie nierównomierny czas oczekiwania na wykonanie zadań, które teoretycznie powinny być traktowane jednakowo. Dobrym rozwiazaniem jest zastosowanie drugorz ednego algorytmu planowania, który b edzie wybiera l zadania spośród tych o najwyższym priorytecie. Ponieważ powinny one być równoważne, i równo traktowane, dlatego w roli drugorz ednego algorytmu planowania cz esto stosowany jest RR. Planowanie zadań strategie z lożone 19

Wielopoziomowe kolejki Przedstawiliśmy strategie dobre do szeregowania procesów obliczeniowych (SJF i SRTF) oraz procesów interakcyjnych (RR). Jeśli w systemie b ed a obecne procesy obu rodzajów, to system stosujacy wy lacznie jedna wybrana strategi e b edzie przetwarza l cz eść procesów nieoptymalnie. Zamiast tego, można użyć dla każdej z tych grup procesów innej, odpowiedniej dla danej grupy, strategii planowania. Procesy obliczeniowe moga być obs lugiwane strategia SJF, ponieważ w przypadku pracy wsadowej ważna jest minimalizacja średniego czasu oczekiwania. Natomiast procesy interakcyjne moga być obs lugiwane strategia RR, ponieważ w przypadku pracy interakcyjnej istotna jest minimalizacji czasu reakcji. Typ procesu może być określony przez deklaracj e użytkownika, albo przez rozpoznanie jego charakterystyki przez system, jak w przypadku dynamicznych priorytetów. Należy jeszcze określić wzajemny stosunek obu tych grup procesów. Oczywiście procesy interakcyjne powinny być uprzywilejowane, stad cz esto nazywa si e je procesami pierwszoplanowymi, albo procesami czo la, a procesy obliczeniowe procesami t la. W najprostszym przypadku można przyjać, że procesy czo la b ed a wykonywane zawsze gdy sa gotowe, w oczekiwaniu, że pozostawia one cz eść cykli obliczeniowych niewykorzystanych, umożliwiajac wykonywanie zadań t la. Planowanie zadań strategie z lożone 20

Partycjonowanie Opisane wielopoziomowe kolejki z uprzywilejowanymi procesami czo la moga w pewnych przypadkach doprowadzić do zag lodzenia procesów t la. Takie ryzyko może być akceptowalne w pewnych przypadkach, lecz ogólnie zjawisko jest niepożadane w systemach operacyjnych. Można temu zapobiec, przyjmujac sta ly podzia l czasu mi edzy kolejki procesów t la i czo la, np. 90% dla czo la i 10% dla t la. Jest to strategia zwana partycjonowaniem. Partycjonowanie może samo w sobie być uważane za algorytm planowania. Jednak podobnie jak planowanie priorytetowe, może ono wydzielić grup e zadań do wykonania bez możliwości wyboru zadania w ramach grupy. Jest to zatem algorytm wysokiego poziomu, który należy uzupe lnić o dodatkowa strategi e, pozwalajac a szeregować zadania w ramach poszczególnych partycji. Wada planowania przez partycjonowanie jest potencja l do marnowania wolnej mocy procesora. Jeśli zadania z jednej partycji nie wykorzystuja wszystkich cykli procesora dost epnych w tej partycji, to zadania z innej partycji nie moga ich wykorzystać. Jest możliwe partycjonowanie adaptacyjne udost epniaj ace wolne cykle procesora z jednej partycji zadaniom z innej partycji. Planowanie zadań strategie z lożone 21

Krótkie podsumowanie pytania sprawdzajace Odpowiedz na poniższe pytania: 1. Porównaj w lasności strategii planowania FCFS i SJF (przewagi jednej i drugiej). 2. Czym różni si e zachowanie zadań wsadowych od interakcyjnych? 3. Jakie kryteria optymalizuje algorytm planowania rotacyjnego (RR) i kosztem jakich parametrów si e to odbywa? 4. Dlaczego planowanie priorytetowe typowo laczy si e z inna strategia planowania? 5. W jakim celu stosuje sa planowanie procesów z wielopoziomowymi kolejkami? 6. Które strategie planowania nadaja si e do planowania procesów obliczeniowych, które do interakcyjnych, a które można stosować dla mieszanej grupy procesów? 7. Które strategie planowania maja charakter niewyw laszczeniowy, które sa typowo wyw laszczeniowe, a które można stosować zarówno z wyw laszczaniem jak i bez niego? Planowanie zadań 22

Planowanie statyczne i dynamiczne 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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 23

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ń. 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. Możemy traktować instancje danego zadania jako oddzielne zadania, które podlegaja szeregowaniu przez system. 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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 24

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 25

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 26

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) Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 27

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 28

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ń. Przyczyna nieoptymalności strategii RMS jest sztywny przydzia l priorytetów. Można uzyskać lepsze wykorzystanie procesora przez bardziej elastyczne metody planowania. 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). Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 29

Planowanie RMS przyk lad Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 30

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 31

Szeregowanie terminowe dla zadań okresowych Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 32

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 33

Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 34

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 35

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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 36

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 e i 1 p i 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. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 37

Zadania sa uwalniane równocześnie, lecz τ 1 jest uruchamiane jako pierwsze ze wzgl edu na bliższy termin. Planowanie w systemach czasu rzeczywistego planowanie statyczne i dynamiczne 38

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. Planowanie w systemach czasu rzeczywistego 39