Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego



Podobne dokumenty
Stronicowanie na ¹danie

Blokady. Model systemu. Charakterystyka blokady

Procesy. W sk³ad procesu wchodzi:

Rys Mo liwe postacie funkcji w metodzie regula falsi

Projektowanie procesów logistycznych w systemach wytwarzania

Zarz¹dzanie pamiêci¹

ABONENCKA CENTRALA TELEFONICZNA SIGMA. Instalacja sterownika USB

Wprowadzenie. System operacyjny - program, który poœredniczy miêdzy u ytkownikiem komputera a sprzêtem komputerowym. Zadania systemu operacyjnego:

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

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

systemy informatyczne SIMPLE.ERP Bud etowanie dla Jednostek Administracji Publicznej

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

Analiza dzia³ania systemu gniazdowego z uwzglêdnieniem transportu i czasów przezbrojeñ**

IV. UK ADY RÓWNAÑ LINIOWYCH

Modelowanie œrodowiska 3D z danych pomiarowych**

Budowa systemów komputerowych

Poznań, 03 lutego 2015 r. DO-III

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci

Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach?

S I M P L E. E R P ZARZ DZANIE MA J TKIEM.

Planowanie przydziału procesora

Instrukcja aktywacji oprogramowania

Zarządzanie procesami i wątkami

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA

Planowanie przydziału procesora

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H

Harmonogramowanie projektów Zarządzanie czasem

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

III. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj.

Automatyzacja pakowania

Systemy mikroprocesorowe - projekt

Zagro enia fizyczne. Zagro enia termiczne. wysoka temperatura ogieñ zimno

SPIS TRESCI SERWERY WSTEP CENNIK KONTAKT. Kamelot radzi: ...

GENESIS SOLAR INVERTER

STRUKTURA MENU STRUKTURA MENU

ROZPORZ DZENIE MINISTRA GOSPODARKI z dnia 11 sierpnia 2000 r. w sprawie przeprowadzania kontroli przez przedsiêbiorstwa energetyczne.

Zarz¹dzanie pamiêci¹ pomocnicz¹. Struktura dysku

MIÊDZYNARODOWY STANDARD REWIZJI FINANSOWEJ 610 KORZYSTANIE Z WYNIKÓW PRACY AUDYTORÓW SPIS TREŒCI

REGULAMIN WYNAGRADZANIA

Prezentacja systemu RTLinux

Odpowiedzi na pytania zadane do zapytania ofertowego nr EFS/2012/05/01

Zarządzanie procesorem

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1

WZORU UŻYTKOWEGO EGZEMPLARZ ARCHIWALNY. d2)opis OCHRONNY. (19) PL (n) Centralny Instytut Ochrony Pracy, Warszawa, PL

Planowanie przydziału procesora

L A K M A R. Rega³y DE LAKMAR

Zapytanie ofertowe dotyczące wyboru wykonawcy (biegłego rewidenta) usługi polegającej na przeprowadzeniu kompleksowego badania sprawozdań finansowych

Instrukcja U ytkownika Systemu Antyplagiatowego Plagiat.pl

Jedyny w Polsce tak nowoczesny system. wyœwietlania tekstu oparty o TABLET 10,1

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

VRRK. Regulatory przep³ywu CAV

Lublin, Zapytanie ofertowe

S Z R A p l i k a c j a

EGZAMIN MATURALNY Z INFORMATYKI

Zbuduj prywatnπ chmurê backupu w? rmie. Xopero Backup. Centralnie zarzπdzane rozwiπzanie do backupu serwerów i stacji roboczych

3.2 Warunki meteorologiczne

PFR Wstępnie wypełnione zeznanie podatkowe. PIT-37 i PIT-38 za rok 2015

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

Kancelaris - Zmiany w wersji 2.50

e-kadry.com.pl Ewa Drzewiecka Telepraca InfoBiznes

KOMISJA NADZORU FINANSOWEGO WNIOSEK O ZATWIERDZENIE ANEKSU NR 8 DO PROSPEKTU EMISYJNEGO

ustawêz dnia 21 listopada 2008 r. o pracownikach samorz¹dowych,

ZAPROSZENIE DO SKŁADANIA OFERT NA:

UMOWA O UDZIELENIE PODSTAWOWEGO WSPARCIA POMOSTOWEGO OBEJMUJĄCEGO POMOC KAPITAŁOWĄ W TRAKCIE PROWADZENIA DZIAŁALNOŚCI GOSPODARCZEJ

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

ZAPYTANIE OFERTOWE NR 1

Projektowanie logistycznych gniazd przedmiotowych

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA DLA PRZETARGU NIEOGRANICZONEGO CZĘŚĆ II OFERTA PRZETARGOWA

REGULAMIN. przeprowadzania naboru nowych pracowników do korpusu służby cywilnej w Kuratorium Oświaty w Szczecinie.

Zespó Szkó Samochodowych

Wytyczne Województwa Wielkopolskiego

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap Urzędzie Gminy w Ułężu

ARIES-IT Profesjonalne Usługi Informatyczne dla Firm i Instytucji, Outsourcing IT

WSTĘP DO PROGRAMOWANIA

OGŁOSZENIE O ZAMÓWIENIU NA ZAKUP LINII TECHNOLOGICZNEJ DO PRODUKCJI METALOWYCH KORON I MOSTÓW WYKONYWANYCH W TECHNOLOGII RAPID PROTOTYPING

PRZEPIĘCIA CZY TO JEST GROźNE?

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

KARTA PROGRAMOWA - Sylabus -

Automatyka przemys³owa

INSTRUKCJA OBS UGI. Fenix 240

Regulamin oferty Taniej z Energą

ZAPYTANIE OFERTOWE nr 2/POIR/2015

PROTOKÓŁ. b) art. 1 pkt 8 w dotychczasowym brzmieniu:

Sieci komputerowe cel

Base 6T - widok z przodu

Bazy danych. Andrzej Łachwa, UJ, /15

W pierwszej kolejności zaszczepione powinny być osoby powyżej 65 roku życia zameldowane na terenie Miasta Turku przewlekle chore.

Rodzaje i metody kalkulacji

1.2. Zmiany prawne wp³ywaj¹ce na organizacjê pracy...

CONSTRUCTOR. Kompaktowy magazyn z u yciem rega³ów wjezdnych. Deepstor P90 DRIVE -IN

najniŝsza cena netto oferty [bez pod VAT]

PLANY WYNIKOWE W ZAKRESIE III KLASY GIMNAZJUM. opracowane na podstawie materia³ów katechetycznych Jezus prowadzi i zbawia z serii W DRODZE DO EMAUS

4.1. Transport ISK SKIERNIEWICE, PL

Metody wyceny zasobów, źródła informacji o kosztach jednostkowych

ARKUSZ III KRYTERIA OCENIANIA

Dynamika wzrostu cen nośników energetycznych

POLITYKA GWARANCJI GRUPY TELE-FONIKA KABLE. 1. Definicje

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, Wrocław tel. (71) fax (71) kancelaria@mhbs.

Transkrypt:

AUTOMATYKA 2009 Tom 13 Zeszyt 2 Piotr Szymczyk*, Magdalena Szymczyk* Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego 1. Wprowadzenie Systemem operacyjnym nazywamy program lub uk³ad programów, który poœredniczy pomiêdzy u ytkownikiem komputera a sprzêtem. Do podstawowych jego zadañ zaliczamy nadzór nad dzia³aniem innych programów, koordynacjê dostêpu do sprzêtu przez programy u ytkowe, dostarczanie œrodków do optymalnego u ycia zasobów, czyli czasu procesora, obszarów pamiêci operacyjnej, pamiêci masowej oraz urz¹dzeñ wejœcia/wyjœcia [3]. Procesem nazywamy wykonuj¹cy siê program wraz z jego œrodowiskiem obliczeniowym. Ka dy proces, aby wykonaæ swoje zadanie, wymaga przydzia³u zasobów, takich jak: czas procesora, pamiêæ, pliki i urz¹dzenia wejœcia/wyjœcia. Do najwa niejszych funkcji systemu w odniesieniu do procesów, zaliczamy: za³adowanie i wykonanie, zakoñczenie i zaniechanie, utworzenie i zakoñczenie procesu, pobranie i okreœlenie atrybutów procesu, oczekiwanie na zdarzenie i jego sygnalizacja, przydzia³ i zwolnienie pamiêci. Wyró niamy trzy podstawowe stany procesów. Proces uruchomiony (running), to proces wykonuj¹cy siê w danej chwili na procesorze. Proces gotowy (ready), jest to proces gotowy do wykonania, ale wstrzymany w oczekiwaniu na przydzia³ czasu procesora. Proces wstrzymany (blocked), nie mo e kontynuowaæ pracy do momentu wyst¹pienia pewnego zewnêtrznego zdarzenia. Przydzia³em procesora poszczególnych procesom zajmuje siê czêœæ j¹dra systemu, nazywana planist¹ (scheduler). System operacyjny posiada tablicê procesów, w której zawarte s¹ szczegó³owe informacje na temat okreœlonego procesu, takie jak stan procesu, priorytet, * Katedra Automatyki, Akademia Górniczo-Hutnicza w Krakowie 607

608 Piotr Szymczyk, Magdalena Szymczyk ID procesu i jego grupa, informacje o czasie zu ytym przez proces itp. Element tablicy procesów nazywamy deskryptorem procesu lub blokiem kontrolnym procesu (PCB process control block). G³ówn¹ cech¹ systemu operacyjnego czasu rzeczywistego jest istnienie wymagañ, zwi¹zanych z czasem wykonywanych przez niego operacji. System ten reaguje w sposób przewidywalny na nieprzewidywalne zdarzenia zewnêtrzne. Poprawnoœæ dzia³ania systemu jest uzale niona nie tylko od poprawnoœci uzyskanego wyniku, ale równie od czasu jego uzyskania. Problem szeregowania procesów w systemach tego typu jest wiêc bardzo wa - nym zagadnieniem. Nale y okreœliæ, któremu z procesów zostanie przydzielony procesor, oraz na jak d³ugi czas tak, aby wszystkie wykonane procesy spe³nia³y zdefiniowane dla nich ograniczenia czasowe. Nie wszystkie elementy systemu operacyjnego czasu rzeczywistego podlegaj¹ szeregowaniu. W¹tki, procesy i zadania mog¹ byæ szeregowane, natomiast elementy takie jak obs³uga przerwañ, komendy systemu operacyjnego, us³ugi sieciowe oraz proces zarz¹dzaj¹cy szeregowaniem zadañ, nie podlegaj¹ szeregowaniu. 2. Algorytmy szeregowania procesów Rozpatruj¹c problem szeregowania, pos³ugujemy siê dwoma podstawowymi pojêciami: zadania oraz zasoby. Zadanie polega na wykonaniu ci¹gu operacji, z których ka da wymaga zaanga owania konkretnych zasobów. Cechami charakterystycznymi dla zadañ s¹: wymagany termin zakoñczenia, przerywalnoœæ operacji, podzielnoœæ, sposób wykonania. W przypadku zasobów musimy wzi¹æ pod uwagê takie cechy jak: dostêpnoœæ, iloœæ, koszt, podzielnoœæ, przyw³aszczalnoœæ. Zasoby dzielimy na odnawialne i nieodnawialne. W przypadku szeregowania w procesach operacyjnych, u ywanymi zasobami s¹ procesory, które nale ¹ do zasobów odnawialnych [11]. Model matematyczny, konstruowany na potrzeby rozwi¹zania problemu szeregowania procesów w systemach operacyjnych, powinien posiadaæ nastêpuj¹ce za³o enia: dany jest zbiór zadañ, z czego ka de zadanie sk³ada siê z ci¹gu operacji, zadania maj¹ zostaæ wykonane przy u yciu zbioru maszyn, ró nego typu, operacje w obrêbie zadania, musz¹ byæ wykonywane w œciœle okreœlonej kolejnoœci. W modelu tym mo emy wybraæ nastêpuj¹ce zmienne decyzyjne: termin rozpoczêcia wykonywania operacji, sposób wykonania operacji. Przyjmujemy przy tym za³o enia, e wykonanie okreœlonej operacji nie mo e byæ przerwane, oraz e ka da maszyna mo e wykonywaæ co najwy ej jedno zadanie w danej chwili czasowej.

Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego 609 Rozwi¹zaniem tak postawionego problemu jest para wektorów, okreœlaj¹cych czas rozpoczêcia oraz sposób wykonania operacji. Algorytm szeregowania odpowiada wiêc za uporz¹dkowanie kolejnoœci dostêpu zadañ do procesora, lub inaczej, rozdziela dostêpny czas procesora i dostêp do innych zasobów pomiêdzy konkuruj¹ce zadania [1, 6, 12]. 2.1. Cele i typy szeregowania zadañ Poprawne szeregowanie procesów, cechuje siê przede wszystkim sprawiedliwoœci¹ w przydziale czasu procesora. Kolejnoœæ i sposób wykonywania zadañ powinny byæ zgodne z przyjêtymi za³o eniami. Cech¹ charakterystyczn¹ dobrego szeregowania jest równie zrównowa enie, które umo liwia zbli on¹ zajêtoœæ wszystkich czêœci systemu. Ponadto w przypadku systemów czasu rzeczywistego, szeregowanie powinno umo liwiaæ spe³nianie ograniczeñ czasowych, oraz maksymaln¹ przewidywalnoœæ. W systemach interaktywnych bardzo wa y jest czas odpowiedzi systemu oraz proporcjonalnoœæ, pozwalaj¹ca na spe³nianie oczekiwañ u ytkownika. G³ówne cele szeregowania to: uzyskanie zadowalaj¹cego czasu odpowiedzi, uzyskanie dobrej przepustowoœci wykonywania procesów, efektywne wykorzystanie procesora. G³ówne typy szeregowania procesów to: szeregowanie bez wyw³aszczania (nonpreemptive scheduling), szeregowanie z wyw³aszczaniem (preemptive scheduling). W zale noœci od wykorzystywanego œrodowiska (systemy przetwarzania wsadowego, systemy interaktywne, systemy czasu rzeczywistego), odpowiednio modyfikujemy szeregowanie, poprzez na³o enie konkretnych wymagañ. Wyw³aszczanie jest technik¹, w której planista mo e zatrzymaæ aktualnie wykonuj¹cy siê proces lub w¹tek, aby umo liwiæ dzia³anie innemu. Dziêki temu, zawieszenie jednego procesu nie mo e spowodowaæ zawieszenia siê systemu. Poza tym mo liwe jest okreœlenie czasu, w jakim dany proces mo e korzystaæ z procesora. Istniej¹ systemy, w których nie wystêpuje wyw³aszczanie, system taki musi posiadaæ informacje, w jakiej chwili mo- e przejœæ do kolejnych zadañ w przeciwnym razie mo e dojœæ do niepoprawnego jego dzia³ania. Istniej¹ zadania, które nie mog¹ byæ wyw³aszczane, na przyk³ad przerwania sprzêtowe. Szeregowanie bez wyw³aszczania mo e byæ u yte w sytuacji, gdy wykonuj¹cy siê proces przeszed³ do stanu uœpienia (w przypadku pojawienia siê zg³oszenia od urz¹dzeñ wejœcia/wyjœcia) lub gdy proces zakoñczy³ swoj¹ pracê. Szeregowanie z wyw³aszczaniem wystêpuje w sytuacjach, gdy wykonuj¹cy siê proces przeszed³ ze stanu aktywnego lub ze stanu oczekiwania do stanu gotowego.

610 Piotr Szymczyk, Magdalena Szymczyk Wyw³aszczanie jest realizowane poprzez wzrost priorytetu jednego z procesów, bêd¹cego w stanie gotowy, powy ej priorytetu procesu wykonywanego. Argumentami przytoczonej funkcji priorytetu s¹ parametry procesu oraz stan systemu operacyjnego. Zale y ona od: wymagañ odnoœnie do wielkoœci przestrzeni adresowej pamiêci, czasu oczekiwania (czasu, w którym proces pozostawa³ w stanie gotowoœci), czasu obs³ugi (czasu, w którym proces by³ wykonywany przez procesor), priorytetu zewnêtrznego (uzale nionego od klasy u ytkownika), obci¹ enia systemu (liczby procesów przebywaj¹cych w systemie). Kolejkowanie procesów o tym samym priorytecie odbywa siê na podstawie ró nych regu³. Mog¹ wiêc one byæ wykonywane losowo, w przypadku gdy liczba procesów o jednakowym priorytecie jest niewielka. Przydzia³ procesora kolejnym procesom mo e byæ cykliczny, mo na równie obs³ugiwaæ procesy w kolejnoœci FIFO (First In First Out), czyli w kolejnoœci przyjmowania procesów do systemu [11]. 2.2. Przegl¹d algorytmów szeregowania Procesy pojawiaj¹ce siê w systemie trafiaj¹ do kolejki zadañ. Te procesy, które s¹ gotowe do dzia³ania, znajduj¹ siê w pamiêci g³ównej, na liœcie procesów gotowych. Prze³¹czanie procesora do innego procesu wymaga zapamiêtania zarówno stanu poprzedniego procesu, jak i za³adowania stanu nowego procesu (prze³¹czanie kontekstu). W czasie wykonywania tej czynnoœci system nie wykonuje adnej pracy [4, 5, 10]. Podczas planowania strategii szeregowania nale y pamiêtaæ o tym, e procesy wykonuj¹ siê w okreœlonych cyklach. Wykonuj¹cy siê proces przechodzi naprzemiennie od fazy procesora, do fazy wejœcia/wyjœcia. W ostatniej fazie dzia³ania, wysy³a do systemu ¹danie zakoñczenia. Istniej¹ ró ne algorytmy planowania przydzia³u procesora, ich wyboru powinniœmy dokonywaæ przede wszystkim na podstawie klasy spodziewanych procesów. Istnieje kilka strategii wyboru procesów do wykonania. Nale ¹ do nich miêdzy innymi: Karuzelowa ka dy z procesów jest kolejno wykonywany, a up³ynie pewien kwant czasu (np. 100 ms). Odwrotnoœæ reszty kwantu im mniej czêœci kwantu czasu zu y³ proces, tym wy sza jest jego pozycja w kolejce. Strategia karuzelowa ze sprzê eniem zwrotnym ka dy nowo przyjêty proces otrzymuje tyle czasu, ile wszystkie inne procesy w systemie; nastêpnie stosujemy kolejkowanie karuzelowe. Priorytetowa wybierany jest proces o najwy szym priorytecie. Ograniczona karuzelowa procesy s¹ wybierane metod¹ karuzelow¹ przez okreœlon¹ liczbê razy. Po jej wykorzystaniu, mog¹ byæ uruchamiane tylko wtedy, gdy w systemie nie ma innych zleceñ.

Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego 611 Równowaga systemu pierwszeñstwo maj¹ procesy, które wykonuj¹ du ¹ liczbê operacji wejœcia/wyjœcia. Lepsze traktowanie procesów interakcyjnych proces wywo³any bezpoœredni¹ komunikacj¹ z u ytkownikiem, wykonuje siê jako pierwszy. Ponadto system mo e automatycznie przydzielaæ najwy sze priorytety zadaniom krótkim. Mo liwe jest równie równowa enie obci¹ enia tak, aby jednoczeœnie wykonywaæ jedno zlecenie z du ym zapotrzebowaniem na urz¹dzenia wejœcia/wyjœcia, a drugie z du- ym obci¹ eniem procesora centralnego. Szeregowanie bez wyw³aszczania pozwala na osi¹gniêcie szybkiej przeciêtnej reakcji dla ma³ych zadañ. Stosujemy regu³y priorytetów, opieraj¹ce siê ca³kowicie na oszacowaniu czasu obs³ugi podanym przez u ytkownika. Do algorytmów tego typu nale ¹: FCFS (First-Come, First-Served) pierwszy zg³oszony, pierwszy obs³u ony; SJF (Shortest Job First) procesy o najkrótszej kolejnej fazie wykorzystania procesora s¹ wykonywane jako pierwsze (mo liwy w wersji wyw³aszczeniowej i niewyw³aszczeniowej); Planowanie priorytetowe. Planowanie z wyw³aszczaniem redukuje problem istnienia procesów o bardzo d³ugim czasie wykonania daje gwarancjê reakcji dla ma³ych zadañ. Jednak wyw³aszczanie komplikuje budowê i dzia³anie systemu operacyjnego system musi jednoczeœnie œledziæ wiele prac na ró nym poziomie zaawansowania. Zamiana prac w pamiêci wewnêtrznej, jest g³ównym Ÿród³em kosztów dla systemów z wyw³aszczaniem. Do algorytmów wyw³aszczaj¹cych zaliczamy: planowanie rotacyjne (round robin), planowanie wielokolejkowe. Planowanie priorytetowe oraz SJF równie posiadaj¹ wersje z wyw³aszczaniem. W przypadku algorytmu SJF jego wersjê wyw³aszczeniow¹ nazywa siê równie SRTF (Shortest-Remaining-Time-First). 2.3. Ocena i porównanie algorytmów szeregowania Ocena przydatnoœci algorytmów planowania mo e opieraæ siê na kilku kryteriach: Wykorzystanie procesora d¹ ymy do tego, aby procesor by³ stale zajêty. W rzeczywistym systemie powinien byæ on wykorzystywany w przedziale 40 90%. Przepustowoœæ definiowana jako liczba procesów skoñczonych w jednostce czasu. Czas cyklu przetwarzania czas pomiêdzy nadejœciem procesu do systemu a jego zakoñczeniem.

612 Piotr Szymczyk, Magdalena Szymczyk Czas oczekiwania czas, który proces spêdza w kolejce procesów gotowych. Czas odpowiedzi czas pomiêdzy wys³aniem ¹dania a pojawieniem siê pierwszej odpowiedzi (nie obejmuje czasu potrzebnego na wyprowadzenie odpowiedzi). Porównuj¹c przedstawione parametry dla ró nych algorytmów, mo emy przyj¹æ wartoœci œrednie, ekstremalne lub wariancjê wartoœci (d¹ ymy do jej minimalizacji). Oceny algorytmów szeregowania mo emy dokonaæ analitycznie, poprzez symulacjê b¹dÿ przez implementacjê i testowanie. Ocena analityczna polega na stworzeniu odpowiedniego modelu matematycznego dla danego algorytmu i obci¹ enia roboczego systemu. Pozwala na uzyskanie przybli onej oceny algorytmów w wyidealizowanym systemie. Symulacja jest podobn¹ metod¹ programuje siê model zachowania programu sztuczny lub stworzony na podstawie wykonania programu w rzeczywistym systemie. Dok³adnoœæ metody jest uzale niona od stopnia z³o onoœci symulacji [11]. 2.4. Przegl¹d systemów operacyjnych pod k¹tem szeregowania procesów SYSTEMY OPERACYJNE CZASU RZECZYWISTEGO Strategia planowania w systemach operacyjnych czasu rzeczywistego jest uzale niona od rodzaju systemu. Dla systemów rygorystycznych (wype³nianie krytycznych zadañ w zagwarantowanym czasie) procesy s¹ dostarczane wraz z okreœleniem wymagañ czasowych. Na tej podstawie planista albo akceptuje proces i zapewnia wykonanie go na czas, albo odrzuca zadanie jako niewykonalne. agodne systemy czasu rzeczywistego zapewniaj¹ wy szy priorytet dla procesów o decyduj¹cym znaczeniu. W tym przypadku planowanie musi byæ priorytetowe, a procesy czasu rzeczywistego musz¹ mieæ najwy szy priorytet. Ich priorytety nie mog¹ maleæ z up³ywem czasu. Istnieje kilka metod szeregowania w systemach operacyjnych tego typu. Metoda zegarowa polega na podejmowaniu decyzji o wykonaniu zadania w konkretnie ustalonych chwilach czasu. Decyzje s¹ podejmowane periodycznie i sterowane sprzêtowym zegarem zewnêtrznym. Jest to najczêœciej wykorzystywana metoda w systemach czasu rzeczywistego. Metoda priorytetowa obejmuje du ¹ grupê algorytmów szeregowania. W metodzie tej d¹ y siê do zapewnienia ci¹g³ej pracy procesora i minimalizacji czasu oczekiwania zadañ na wykonanie. Decyzje o przydzieleniu zadania s¹ podejmowane, gdy zachodz¹ okreœlone zdarzenia, na przyk³ad uwolnienie czy zakoñczenie zadania. Kolejn¹ grupê stanowi¹ algorytmy EDF (Earliest Deadline First) i LST (Least Slack Time) optymalne algorytmy dla zadañ wyw³aszczalnych, które nie walcz¹ miêdzy sob¹ o inne zasoby [2, 7, 8].

Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego 613 System RTLinux RTLinux to rozszerzenie systemu operacyjnego Linux, które pozwala na wykonanie zadañ o wymaganiach systemu czasu rzeczywistego. W systemie tym j¹dro czasu rzeczywistego wspó³istnieje z j¹drem tradycyjnego systemu Linux. Zadania RTLinuxa znajduj¹ siê we wspólnej przestrzeni adresowej, lecz maj¹ maksymalny poziom uprzywilejowania. Planista systemu implementuje algorytm oparty o sta³e priorytety zadañ. Wybierane jest zadanie gotowe do wykonania i o najwy szym priorytecie (RMS Priority Based Rate Monotonic Scheduling Algorithm). Jeœli w systemie pojawi siê kilka zadañ o tym samym, najwy szym priorytecie i s¹ one gotowe do wykonania, wybierane jest to, które zosta³o odnalezione jako pierwsze. Zadanie samo oddaje procesor, lub zostaje wyw³aszczone przez inne o wy szym priorytecie. Planista jest uruchamiany tylko wtedy, gdy istnieje taka potrzeba (nie uruchamia siê co pewien okreœlony przedzia³ czasu), co zmniejsza narzuty zwi¹zane z jego dzia³aniem. Priorytety s¹ nadawane na podstawie czasu dzia³ania danego zadania (im krótszy, tym wy szy priorytet). Wad¹ tego algorytmu jest fakt, e nie zawsze gwarantuje on wykonanie wszystkich zadañ na czas. Kolejnym algorytmem wykorzystywanym w omawianym systemie jest algorytm EDF. W tym przypadku zadanie o bli szym nieprzekraczalnym terminie wykonania otrzymuje wy szy priorytet. Wad¹ tej metody s¹ du e narzuty zwi¹zane z obliczaniem priorytetów. Zalet¹ jest maksymalne wykorzystanie procesora. Obydwa spoœród wymienionych algorytmów nie gwarantuj¹ wype³nienia w czasie zadañ nieokresowych, które pojawiaj¹ siê w systemie w dowolnym czasie. Do obs³ugi tego typu zadañ przeznaczone s¹ algorytmy Slot Shifting i Stack Sterling [11]. System VxWorks VxWorks to system operacyjny oparty na wielozadaniowoœci, komunikacji miêdzy zadaniami oraz na procedurach obs³ugi przerwañ. W przypadku tego systemu zastosowany zosta³ algorytm szeregowania priorytetowego z wyw³aszczaniem. System posiada 256 poziomów priorytetów (0 priorytet najwy szy, 255 najni szy). Priorytety s¹ przypisywane na etapie tworzenia zadania, jednak ich wartoœæ mo e siê zmieniaæ w trakcie wykonania. Dziêki temu mo liwe jest dostosowanie priorytetów zadañ do aktualnych potrzeb. System VxWorks posiada mo liwoœæ rozszerzenia algorytmu szeregowania do systemu rotacyjnego. Umo liwia to wspó³dzielenie czasu procesora przez zadania o tym samym priorytecie. W przypadku dzia³ania tego algorytmu, jeœli pojawi siê zadanie o takim samym priorytecie, aktywne zadanie wykonuje siê tylko przez okreœlony przedzia³ czasu, a nastêpnie zwalnia procesor dla kolejnego zadania. Jeœli w trakcie wykonywania siê procesu pojawi siê inny o wy szym priorytecie, nastêpuje wyw³aszczenie na rzecz tego procesu. Po jego zakoñczeniu, wyw³aszczony proces wykorzystuje pozosta³y mu nale ny czas procesora [13].

614 Piotr Szymczyk, Magdalena Szymczyk Windows CE (Windows Embedded) Nazw¹ Windows Embedded okreœla siê dwa systemy operacyjne: Windows XPE oraz Windows CE. Windows CE jest rygorystycznym systemem czasu rzeczywistego, przeznaczonym do systemów wbudowanych. Do szeregowania zadañ w tym systemie wykorzystywany jest algorytm wyw³aszczaj¹cy oparty o priorytety i podzia³ czasu. Ka dy w¹tek jest wykonywany przez okreœlony kwant czasu (100 ms), tak wiêc mamy do czynienia z algorytmem karuzelowym. Priorytety s¹ przydzielane statycznie [9]. 3. Podsumowanie W artykule przedstawiono zagadnienia zwi¹zane z problemem szeregowania zadañ w systemach operacyjnych, w tym w systemach operacyjnych czasu rzeczywistego. Dobór odpowiedniego algorytmu do specyfiki projektowanego systemu jest zasadnicz¹ kwesti¹ decyduj¹ca o pracy ca³ego systemu. W artykule zawarto równie wskazówki pozwalaj¹ce na porównanie ró nych algorytmów i wybranie najbardziej odpowiedniego do danych potrzeb. Literatura [1] Cormen T.H., Leiserson C.E., Rnald L. Rivest T. L., Wprowadzenie do algorytmów. WNT, Warszawa 2001. [2] Cottet F., Delacroix J., Kaiser C., Mammeri Z., Scheduling in real-time systems. Willey 2002. [3] galaxy.uci.agh.edu.pl/~kca/r12_system_operacyjny.doc (Jakubowska M., Systemy operacyjne wprowadzenie). [4] http://www.cs.put.poznan.pl/sop/ (Instytut Informatyki Politechniki Poznañskiej, Zak³ad Systemów Informatycznych). [5] http://www.prz.rzeszow.pl/we/katedry/zsc/projekty/2000/0/index.html (Politechnika Rzeszowska, Organizacja procesów obliczeniowych ). [6] http://th-www.if.uj.edu.pl/~placzek/dydaktyka/so/wyklady/wyklad04k.pdf (P³aczek W., Planowanie przydzia³u procesora). [7] http://www.kik.pcz.pl/so-add/rtos/index.htm (Rojek M., Systemy czasu rzeczywistego). [8] http://users.uj.edu.pl/~ufbodek/rts/rts.htm (Bodek K., Systemy czasu rzeczywistego wyk³ad specjalistyczny). [9] http://students.mimuw.edu.pl/so/projekt05-06/temat1-g2/szeregowaniexp.html (Moszczyñski M., Szeregowanie procesów w systemie Windows XP). http://www.iit.pwr.wroc.pl/~kolacz/pwr_unix/unix_4_b.pdf (Ko³aczek G., Œrodowisko UNIX zarz¹dzanie procesami). Olender J., Kêpa E., Algorytmy szeregowania procesów w systemach operacyjnych. Projekt z przedmiotu Algorytmy i struktury danych AGH 2008. [10] Smutnicki C., Algorytmy szeregowania. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2002. [11] Szymczyk P.: Systemy operacyjne czasu rzeczywistego. UWND AGH, Kraków 2003.