SOCR wyklad 1 Wprowadzenie A5


WPROWADZENIE DO SYSTEM脫W
OPERACYJNYCH CZASU RZECZYWISTEGO
Opracowano na podstawie  Systemy czasu rzeczywistego QNX6 Neutrino  J. U艂asiewicz
1. WSTP
仞 System czasu rzeczywistego RTS (ang. Real Time System) to taki system,
kt贸rego wynik przetwarzania zale偶y nie tylko od jego logicznej poprawno艣ci,
ale tak偶e od chwili, w kt贸rej taki wynik si臋 pojawi.
仞 Systemy czasu rzeczywistego s膮 stosowane wsz臋dzie tam, gdzie konieczna jest
bie偶膮ca reakcja na sygna艂y p艂yn膮ce z zewn臋trznego 艣wiata.
1
仞 W ostatnim okresie obserwujemy istotny wzrost znaczenia takich system贸w.
Powodem tego zjawiska jest istotny spadek koszt贸w i wzrost mo偶liwo艣ci
sterownik贸w mikroprocesorowych, kt贸re s膮 instalowane w nowych
urz膮dzeniach. O ile zasoby sprz臋towe wcze艣niejszych sterownik贸w by艂y zbyt
skromne, aby pomie艣ci膰 system operacyjny, obecnie sta艂o si臋 to mo偶liwe, a
nawet ze wzgl臋du na komplikacj臋 uk艂ad贸w interfejsowych konieczne.
仞 R贸偶norodne sterowniki s膮 obecne w licznych urz膮dzeniach powszechnego
u偶ytku, takich jak sprz臋t audiowizualny, samochody, telefony, steruj膮
instalacjami przemys艂owymi, robotami, samolotami, centralami telefonicznymi.
仞 M贸wimy, 偶e sterowniki takie s膮 wbudowane w urz膮dzenia, kt贸rymi steruj膮, st膮d
poj臋cie system贸w wbudowanych (ang. embedded).
2
仞 Systemy wbudowane s膮 zwykle systemami czasu rzeczywistego.
仞 Sk艂adaj膮 si臋 one ze sprz臋tu i oprogramowania.
仞 Fundamentem, na kt贸rym jest budowane takie oprogramowanie, jest system
operacyjny czasu rzeczywistego RTOS (ang. Real Time Operating System).
仞 Kroki, kt贸re powinny by膰 wykonane, aby potrzebny system komputerowy m贸g艂
by膰 zrealizowany:
 specyfikacja wymaga艅,
 wyb贸r platformy sprz臋towej i systemu operacyjnego,
 posadowienie systemu operacyjnego na wybranej platformie sprz臋towej,
3
 wytworzenie oprogramowania aplikacyjnego,
 testowanie,
 weryfikacja.
仞 O ile sprz臋towa cz臋艣膰 systemu wbudowanego jest konstruowana z
powtarzalnych komponent贸w (na rynku dost臋pna jest znaczna liczba
r贸偶norodnych sterownik贸w), to oprogramowanie jest silnie
zindywidualizowane.
4
仞 W praktyce dla ka偶dego zastosowania oprogramowanie aplikacyjne jest
tworzone od nowa. Dlatego wytworzenie oprogramowania i jego testowanie
oraz weryfikacja stanowi膮 najbardziej kosztowny i czasoch艂onny etap
przedsi臋wzi臋cia inwestycyjnego.
仞 Oprogramowanie takie, poza nielicznymi wyj膮tkami, jest tworzone w
艣rodowisku pewnego systemu operacyjnego czasu rzeczywistego. Wsp贸艂czesne
aplikacje czasu rzeczywistego s膮 cz臋sto aplikacjami z艂o偶onymi z wielu
proces贸w intensywnie komunikuj膮cych si臋 ze sob膮 i z otoczeniem, nierzadko
rozproszonych i poddanych ograniczeniom czasowym.
5
仞 Tworz膮c tak膮 aplikacj臋, w og贸lnym przypadku nale偶y rozwi膮za膰 nast臋puj膮ce
zagadnienia:
- zapewni膰 spe艂nienie wymaganych ogranicze艅 czasowych.
- rozwi膮za膰 kwesti臋 komunikacji i synchronizacji lokalnych proces贸w i
w膮tk贸w.
- rozwi膮za膰 problem komunikacji pomi臋dzy w臋z艂ami systemu rozproszonego.
仞 Trafny wyb贸r systemu operacyjnego decyduje cz臋sto o wiarygodno艣ci ca艂ego
systemu, mo偶liwo艣ci spe艂nienia wymaga艅 czasowych, 艂atwo艣ci tworzenia
przysz艂ej aplikacji i jej przeno艣no艣ci.
仞 Obecnie jest dost臋pnych wiele system贸w operacyjnych czasu rzeczywistego.
6
仞 Wymieni膰 tutaj mo偶na zar贸wno systemy komercyjne (np. Solaris, LynxOS,
VxWorks, Windows CE, QNX Neutrino), jak i systemy open source (np. RT
Linux czy eCOS). Systemy te r贸偶ni膮 si臋 znacznie w艂a艣ciwo艣ciami.
7
仞 Najwa偶niejsze kryteria, wzgl臋dem kt贸rych por贸wnuje si臋 RTOS, to:
 艂atwo艣膰 instalacji i konfiguracji,
 dost臋pne platformy sprz臋towe,
 wiarygodno艣膰,
 w艂a艣ciwo艣ci czasowe,
 wsparcie architektur rozproszonych,
 jako艣膰 dokumentacji,
 zgodno艣膰 ze standardami,
 dost臋pno艣膰 kodu zr贸d艂owego,
 dost臋pno艣膰 wsparcia technicznego,
 cena.
8
仞 Znaczenie poszczeg贸lnych kryteri贸w zale偶y od konkretnych uwarunkowa艅. Jest
oczywiste, 偶e inne kryteria b臋d膮 istotne w przypadku urz膮dzenia wbudowanego
w kuchenk臋 mikrofalow膮, a inne w przypadku sondy kosmicznej. Poszczeg贸lne
kryteria trudno te偶 wyrazi膰 ilo艣ciowo, sprowadzi膰 do wsp贸lnego mianownika i
wyodr臋bni膰 najlepszy RTOS.
仞 Niezale偶na organizacja Dedicated Systems, zajmuj膮ca si臋 ewaluacj膮
oprogramowania, przeprowadzi艂a por贸wnanie wa偶niejszych system贸w czasu
rzeczywistego, w tym systemu QNX Neutrino v6.l, VxWorks AE1.1 i Windows
CE.NET. Z uzyskanych rezultat贸w wynika, 偶e system QNX6 Neutrino g贸ruje
pod wieloma wzgl臋dami nad konkurentami. Je偶eli nawet do takich test贸w
podej艣膰 z rezerw膮, to i tak nie da si臋 zaprzeczy膰, 偶e system QNX6 jest obecnie
9
jednym z najbardziej zaawansowanych technologicznie system贸w operacyjnych
czasu rzeczywistego.
仞 W tym miejscu nale偶y podkre艣li膰 istotn膮 rol臋 standard贸w. Je偶eli aplikacja
dostosowana jest do pewnego otwartego, szeroko uznanego standardu, to s膮
wi臋ksze szanse, 偶e przetrwa ona zmian臋 platformy sprz臋towej i programowej.
Mo偶e te偶 艂atwiej wsp贸艂pracowa膰 z innymi aplikacjami.
仞 W dziedzinie system贸w czasu rzeczywistego najszerzej stosowanym
standardem jest POSIX 1003.1. Pe艂n膮 lub cz臋艣ciow膮 zgodno艣膰 z tym
standardem deklaruj膮 takie systemy jak Solaris, LynxOs, VxWorks, Irix, a tak偶e
RTLinux czy eCOS.
10
仞 System QNX6 Neutrino wykazuje prawie pe艂n膮 zgodno艣膰 ze standardem POSIX
1003.1. Tak wi臋c aplikacja napisana dla QNX6 Neutrino ma szans臋 dzia艂a膰 (po
mniejszych lub wi臋kszych modyfikacjach) tak偶e na innych platformach. Fakt
ten jest dodatkowym argumentem przemawiaj膮cym za tym, 偶e warto
zainwestowa膰 w nauk臋 programowania aplikacji czasu rzeczywistego w
systemie QNX6 Neutrino.
仞 System QNX6 Neutrino jest spadkobierc膮 d艂ugiej linii rozwojowej. Jego historia
jest dok艂adniej opisana w podrozdziale 2.5. Pierwsza wersja systemu QNX
powsta艂a w roku 1982 dla procesora Intel 8088.
11
仞 QNX zaprojektowano od podstaw jako system wielozadaniowy, rozproszony i
spe艂niaj膮cy wymagania czasu rzeczywistego. Zyska艂 on sobie opini臋 systemu
niezawodnego i maj膮cego niewielkie zapotrzebowanie na zasoby. Pod koniec lat
80. powsta艂 QNX w wersji 4. W por贸wnaniu do wersji poprzedniej,
wprowadzono znacz膮ce zmiany. Dostosowano system do standardu POSIX
1003.1. Rozwijano te偶 konsekwentnie technologi臋 systemu rozproszonego. W
roku 2001 pojawi艂a si臋 pierwsza edycja nowej wersji systemu oznaczona jako
QNX6 z nowym mikroj膮drem Neutrino.
12
仞 System od podstaw zaprojektowano jako wieloplatformowy. Wspierane
procesory to Intel x86, MIPS, PowerPC, SH-4, ARM, StrongARM i xScale.
System spe艂nia wymagania stawiane wsp贸艂cze艣nie systemom czasu
rzeczywistego i jest zgodny ze standardem POSIX 1003, a tak偶e zapewnia
wsparcie dla maszyn wieloprocesorowych oraz zawiera wiele mechanizm贸w
tolerowania awarii. Tak wi臋c jego cechy powoduj膮, 偶e jest on w stanie sprosta膰
wi臋kszo艣ci wymaga艅 stawianych systemom czasu rzeczywistego i systemom
wbudowanym.
13
仞 Nauk臋 tworzenia aplikacji czasu rzeczywistego trudno jest prowadzi膰 w
oderwaniu od konkretnego systemu operacyjnego. Nie jest to 艂atwe, gdy偶
wsp贸艂czesne RTOS s膮 bardzo skomplikowane, a ich dokumentacja bardzo
obszerna. W przypadku systemu QNX6 Neutrino liczba wywo艂a艅 systemowych
przekracza 1500, a dokumentacja sk艂ada si臋 z 24 podr臋cznik贸w.
仞 Firma QNX Software Systems udost臋pnia bezp艂atnie 90-dniow膮 wersj臋 testow膮
systemu zawieraj膮c膮 pakiet Momentics (jest to zintegrowane 艣rodowisko
wspomagaj膮ce tworzenie system贸w wbudowanych). Dodatkowo uczelnie mog膮
si臋 stara膰 o bezp艂atn膮 licencj臋 edukacyjn膮 lub bezterminow膮 licencj臋 dla
zastosowa艅 niekomercyjnych. http://www.swdsoft.pl
14
2. Podstawy
Systemy wbudowane
仞 Termin system pochodzi z j臋zyka greckiego i oznacza rzecz z艂o偶on膮.
仞 W dziedzinie techniki systemem nazywamy zbi贸r powi膮zanych ze sob膮
obiekt贸w, kt贸re w pewien spos贸b oddzia艂uj膮 na siebie. Nie istniej膮 systemy
ca艂kowicie izolowane - ka偶dy wsp贸艂dzia艂a ze swoim otoczeniem. Dotyczy to
tak偶e system贸w komputerowych, co pokazano na rysunku
Rys. Wsp贸艂dzia艂anie systemu komputerowego z otoczeniem
15
仞 Jednak stopie艅 i charakter powi膮zania systemu z otoczeniem mo偶e si臋 istotnie
r贸偶ni膰. W systemach biurowych jest on niewielki, a we wbudowanych znaczny.
仞 Gdy rozpatrujemy komputer pok艂adowy pojazdu, jego oddzia艂ywanie z
otoczeniem ma ca艂kowicie inny charakter. Komputer taki pobiera informacje z
otoczenia za pomoc膮 sensor贸w i oddzia艂uje na nie za pomoc膮 r贸偶norodnych
efektor贸w, takich jak przekazniki, generatory impuls贸w czy przetworniki
analogowo-cyfrowe. M贸wimy, 偶e komputer pok艂adowy jest wbudowany w
pojazd.
16
Definicja systemu wbudowanego.
System wbudowany (ang. embedded system)
System wbudowany jest to system komputerowy b臋d膮cy cz臋艣ci膮 wi臋kszego
systemu i wykonuj膮cy istotn膮 cz臋艣膰 jego funkcji.
仞 Przyk艂adem mo偶e by膰 komputer pok艂adowy samolotu lub system steruj膮cy
szybk膮 kolej膮 miejsk膮.
仞 Systemy wbudowane s膮 to wi臋c specjalizowane systemy komputerowe b臋d膮ce
integraln膮 cz臋艣ci膮 pewnego urz膮dzenia.
17
仞 Przyk艂adem takich urz膮dze艅 s膮 urz膮dzenia elektroniczne powszechnego u偶ytku
(magnetowidy, telewizory, radia), komputery pok艂adowe w pojazdach,
przyrz膮dach pomiarowych, aparaturze diagnostycznej i medycznej.
仞 W komputerach domowych i biurowych programy s膮 tworzone i wykonywane
na tym samych komputerze.
仞 Nie zawsze jednak sytuacja taka ma miejsce. W systemach wbudowanych
oprogramowanie jest tworzone na tak zwanym komputerze macierzystym (ang.
host), a wykonywane na komputerze docelowym (ang. target).
18
仞 Dzieje si臋 tak dlatego, 偶e komputer docelowy jest po艂膮czony z obiektem i cz臋sto
wbudowany w okre艣lone urz膮dzenie. Zawiera on tylko takie zasoby, jakie s膮
konieczne do realizacji bie偶膮cych zada艅 do kt贸rych jest przeznaczony, a
艣rodowisko uruchomieniowe nie da si臋 zwykle na nim w og贸le zainstalowa膰.
仞 Trudno wyobrazi膰 sobie sytuacj臋, w kt贸rej na komputerze pok艂adowym pojazdu
kompilujemy i uruchamiamy programy, gdy偶 komputer taki nie ma klawiatury,
monitora, dysk贸w i innych potrzebnych zasob贸w. W takim przypadku jest
stosowany system skro艣nego rozwoju oprogramowania (ang. cross
development), co pokazano na rysunku
19
Rys. System skro艣nego rozwoju oprogramowania
仞 Na komputerze macierzystym pracuj膮cym pod kontrol膮 systemu operacyjnego 1
jest zainstalowany system wytwarzania oprogramowania (ang. development
system).
20
仞 System ten obejmuje takie narz臋dzia, jak: edytor, kompilator, linker,
biblioteki, debugger, symulatory, narz臋dzia do tworzenia dokumentacji.
Utworzona w nim aplikacja jest wykonywana w komputerze docelowym, kt贸ry
mo偶e pracowa膰 pod kontrol膮 innego systemu operacyjnego.
仞 Tak wytworzona aplikacja jest wpisywana do pami臋ci komputera docelowego
(np. za pomoc膮 interfejsu JTAG, ISP, RS232 lub innego) i tam wykonywana.
Na komputerze docelowym mo偶na te偶 dokona膰 programowania pami臋ci trwa艂ej
komputera docelowego.
21
仞 Przyk艂adowo, aplikacja mo偶e by膰 rozwijana w 艣rodowisku systemu Windows
XP przy u偶yciu pakietu Momentics firmy QNX Software Systems. Pakiet
tworzy aplikacj臋 wykorzystuj膮c膮 system operacyjny QNX6 Neutrino, kt贸ry jest
generowany na system docelowy z procesorem ARM. Komputery przeznaczone
do zastosowa艅 wbudowanych mog膮 znacznie r贸偶ni膰 si臋 mi臋dzy sob膮, ale maj膮
pewne wsp贸lne w艂asno艣ci.
仞 Zaliczy膰 do nich mo偶na:
1. Wymagana jest odporno艣膰 na prac臋 w trudnych warunkach otoczenia
(wibracje, zapylenie, wilgo膰), dopuszczalny jest szeroki zakres temperatur
otoczenia.
22
2. Przeznaczone s膮 do pracy ci膮g艂ej - brak jest element贸w ruchomych (dyski
obrotowe, wentylatory, nap臋dy dyskietek), wymagana jest trwa艂o艣膰, 艂atwo艣膰
serwisowania.
3. Oprogramowanie jest umieszczone w pami臋ci p贸艂przewodnikowej - Flash,
EPROM.
4. Stosowane jest wsparcie sprz臋towe dla osi膮gania niezawodnej pracy - budzik
(ang. watchdog), pami臋ci ECC, magistrala z kontrol膮 parzysto艣ci, poszerzona
diagnostyka.
仞 Oczywi艣cie nie wszystkie komputery do zastosowa艅 wbudowanych musz膮
charakteryzowa膰 si臋 wszystkimi wymienionymi w艂asno艣ciami.
23
仞 W rzeczywisto艣ci istnieje ca艂e spektrum tych urz膮dze艅. Na jednym ko艅cu skali
znajduj膮 si臋 proste 8-bitowe mikrokontrolery, na drugim wieloprocesorowe
systemy, kt贸rych budowa opiera si臋 na magistrali VME, maj膮ce nieraz cechy
superkomputer贸w.
仞 Istnieje wiele standard贸w dotycz膮cych komputer贸w przeznaczonych do
system贸w steruj膮cych i wbudowanych. Do najbardziej znanych nale偶膮 standard
VME, Compact PCI czy PC 104.
24
仞 Aby przybli偶y膰 nieco specyfik臋 sprz臋tu u偶ywanego do budowy system贸w
wbudowanych, par臋 s艂贸w zostanie po艣wi臋conych standardowi PC 104. Standard
PC 104 wywodzi si臋 z popularnego komputera PC w swojej starszej wersji, z 8-
i 16-bitow膮 szyn膮 ISA. W typowej postaci komputer PC w ma艂ym stopniu
nadaje si臋 do zastosowa艅 wbudowanych. Standard PC 104 ma na celu
dostosowanie komputera PC do warunk贸w przemys艂owych. Definiuje r贸偶nice
mechaniczne, elektryczne i logiczne wzgl臋dem standardu ISA i EISA. Standard
jest utrzymywany przez PC/104 Consortium.
25
26
仞 Na fotografii pokazano widok komputera PM-1041 wykonanego w standardzie
PC 104. Jest to komputer kompatybilny z PC z procesorem 486DX2-66 STPC
wyposa偶ony w 32 MB pami臋ci RAM, kontroler dysk贸w IDE i floppy, kontroler
monitora VGA, 2 porty szeregowe i port r贸wnoleg艂y. Komputer ten jest
wyposa偶ony w uk艂ady niespotykane w zwyk艂ym komputerze PC, a typowe dla
komputer贸w stosowanych w systemach wbudowanych. Nale偶膮 do nich budzik i
dysk p贸艂przewodnikowy flash typu DiskOnChip.
仞 Budzik jest urz膮dzeniem zabezpieczaj膮cym przed skutkami zatrzymania
wykonywania program贸w, kt贸re mo偶e nast膮pi膰 przy awarii sprz臋tu lub b艂臋dzie
programowym.
27
仞 Sterowanie budzikiem odbywa si臋 poprzez dost臋p do rejestr贸w urz膮dzenia,
umieszczonych w przestrzeni wej艣cia-wyj艣cia. Operacje, kt贸re mo偶na
wykonywa膰 na urz膮dzeniu, to aktywacja, od艣wie偶anie i zatrzymanie. Aktywacja
polega na wpisaniu do rejestru okresu od艣wie偶ania. Odt膮d nale偶y dokonywa膰
od艣wie偶ania watch-doga. Gdy w zadanym czasie nie zostanie wykonana
operacja od艣wie偶ania, to budzik przeprowadzi restart sprz臋towy komputera.
28
Systemy czasu rzeczywistego
仞 Czynnik czasu jest obecny w dzia艂aniu ka偶dego systemu komputerowego. W
przypadku edytora tekstu zw艂oka w reakcji na polecenie wpisania znaku mo偶e
by膰 najwy偶ej denerwuj膮ca (na przyk艂ad system nie odpowiada, bo zapisuje
w艂a艣nie kopi臋 bezpiecze艅stwa). Gdy komputer pok艂adowy steruj膮cy pojazdem
nie wykryje na czas po艣lizgu k贸艂 i zareaguje z nadmiernym op贸znieniem, skutki
mog膮 by膰 znacznie powa偶niejsze. Tak wi臋c widzimy, 偶e czynnik czasu w
pewnych systemach mo偶e by膰 ma艂o istotny, a w innych mo偶e mie膰 zasadnicze
znaczenie.
29
仞 Systemy, w kt贸rych czynnik czasu ma istotne znaczenie, nazywamy
systemami czasu rzeczywistego, w skr贸cie RTS (ang. Real Time System). Jego
definicja jest nast臋puj膮ca:
System czasu rzeczywistego jest to system komputerowy, w kt贸rym
obliczenia prowadzone r贸wnolegle z przebiegiem zewn臋trznego procesu
maj膮 na celu nadzorowanie, sterowanie lub terminowe reagowanie na
zachodz膮ce w tym procesie zdarzenia.
仞 System czasu rzeczywistego wsp贸艂dzia艂a z otoczeniem.
仞 Jego zachowanie zale偶y od stanu otoczenia, czasu oraz zdarze艅
generowanych przez otoczenie.
30
仞 Zwykle systemy wbudowane s膮 systemami czasu rzeczywistego, ale spotyka si臋
te偶 systemy nieb臋d膮ce wbudowanymi, w kt贸rych czas odpowiedzi ma istotne
znaczenie.
仞 Najprostsz膮 form膮 uwarunkowania czasowego jest model, w kt贸rym system ma
reagowa膰 na zdarzenia zachodz膮ce w otoczeniu, co wida膰 na rysunku.
Znaczenie ma nie tylko prawid艂owo艣膰 odpowiedzi na zdarzenie, ale tak偶e czas
otrzymania tej odpowiedzi.
31
Rys. Definicja czasu odpowiedzi t
仞 System czasu rzeczywistego musi gwarantowa膰, 偶e czas odpowiedzi t na
zaistnia艂e zdarzenie b臋dzie mniejszy od ograniczenia czasowego (ang.
deadline) Tmax.
32
仞 Systemy RTS mog膮 znacznie r贸偶ni膰 si臋 od siebie pod wzgl臋dem konsekwencji
niespe艂nienia ogranicze艅 czasowych. Przyk艂adem urz膮dze艅, w kt贸rych
niespe艂nienie ogranicze艅 ma ca艂kowicie odmienne konsekwencje, s膮 odtwarzacz
multimedialny i system sterowania silnikiem samolotowym.
仞 W zwi膮zku z r贸偶nymi skutkami niespe艂nienia ogranicze艅 wyr贸偶nia si臋 dwa
rodzaje ogranicze艅 czasowych: rygorystyczne i 艂agodne.
仞 Rygorystyczne ograniczenie czasowe (ang. hard deadline)
Rygorystyczne ograniczenie czasowe to takie ograniczenie, kt贸re zawsze
musi by膰 spe艂nione. Je艣li cho膰 raz zosta艂o przekroczone, to uwa偶a si臋, 偶e nie
zosta艂o spe艂nione.
33
仞 Aagodne ograniczenie czasowe (ang. soft deadline)
Aagodne ograniczenie czasowe to takie ograniczenie czasowe, kt贸re czasami
mo偶e by膰 przekroczone.
仞 Powstaje pytanie, jak zdefiniowa膰 poj臋cie  czasami". Mo偶na si臋 pos艂u偶y膰
kategori膮 prawdopodobie艅stwa (np. ograniczenie jest spe艂nione w 99%
przypadk贸w) lub te偶 funkcj膮 u偶yteczno艣ci. Funkcja u偶yteczno艣ci podaje ocen臋
korzy艣ci w zale偶no艣ci od czasu uzyskania odpowiedzi. Warto艣膰 1 oznacza pe艂n膮
u偶yteczno艣膰, a 0 brak u偶yteczno艣ci. Przyk艂ad funkcji u偶yteczno艣ci
zamieszczono na rysunku.
34
Rys. Funkcja u偶yteczno艣ci odpowiedzi
仞 W zale偶no艣ci od typu ogranicze艅 czasowych definiuje si臋 dwa rodzaje
system贸w RTS: rygorystyczne i 艂agodne.
仞 Rygorystyczny system czasu rzeczywistego (ang. hard Real Time System)
Rygorystyczny system czasu rzeczywistego to system, w kt贸rym wymaga si臋
spe艂nienia rygorystycznych ogranicze艅 czasowych.
35
仞 Aagodny system czasu rzeczywistego (ang. soft Real Time System)
Aagodny system czasu rzeczywistego to system, w kt贸rym wymaga si臋
spe艂nienia 艂agodnych ogranicze艅 czasowych.
仞 Do rygorystycznych system贸w czasu rzeczywistego mo偶na zaliczy膰 system
sterowania elektrowni膮 atomow膮, samolotem czy zap艂onem
samochodowym.
仞 Przyk艂ady 艂agodnych system贸w czasu rzeczywistego to systemy multimedialne,
system sterowania telefonem kom贸rkowym czy centrala telefoniczna.
36
仞 Cz臋sto poj臋cie systemu RTS jest rozumiane szerzej ni偶 tylko konieczno艣膰
spe艂nienia zadanych ogranicze艅 czasowych i bywa rozumiane jako system
sterowania.
仞 System sterowania (ang. control system)
System sterowania jest systemem, kt贸rego zadaniem jest utrzymywanie obiektu
sterowanego w po偶膮danym stanie.
仞 W takim systemie decyzje steruj膮ce powstaj膮 w wyniku obserwacji stanu
obiektu, reagowania na zaistnia艂e w nim zdarzenia i wykonywania akcji z
harmonogramu (algorytmu), gdy nadejd膮 okre艣lone tam chwile czasowe
(rysunek).
37
Rys. Struktura systemu sterowania
仞 B艂膮d w sterowaniu obiektem mo偶e mie膰 powa偶ne konsekwencje i prowadzi膰 do
znacznych strat materialnych, a nawet do zagro偶enia 偶ycia ludzi, zwierz膮t czy
艣rodowiska. Tak wi臋c od system贸w sterowania wymaga si臋, aby dzia艂a艂y
bezb艂臋dnie. Tak偶e przerwa w dzia艂aniu systemu cz臋sto bywa niedopuszczalna.
Systemy steruj膮ce powinny by膰 wi臋c systemami wysokiej wiarygodno艣ci.
仞 System wysokiej wiarygodno艣ci (ang. high dependability system)
Wiarygodno艣膰 systemu informatycznego to w艂asno艣膰, kt贸ra pozwala jego
u偶ytkownikom mie膰 zaufanie do us艂ug, kt贸re ten system dostarcza.
38
Rys. Atrybuty i 艣rodki zapewnienia wiarygodno艣ci
仞 Atrybuty wiarygodno艣ci pozwalaj膮 okre艣li膰 w艂a艣ciwo艣ci oczekiwane od
systemu i oszacowa膰 jako艣膰 systemu. Nale偶膮 do nich dost臋pno艣膰 (ang.
availability), niezawodno艣膰 (ang. reliability), bezpiecze艅stwo (ang. safety),
naprawialno艣膰 (ang. maintainability), integralno艣膰 (ang. integrity) i ochrona
(ang. confidentiality).
39
仞 Dost臋pno艣膰 oznacza, 偶e system jest w stanie nieprzerwanie 艣wiadczy膰 us艂ugi.
Miar膮 dost臋pno艣ci jest stosunek czasu, w kt贸rym system jest sprawny, do czasu,
w kt贸rym powinien by膰 sprawny.
仞 Niezawodno艣膰 jest zdolno艣ci膮 do nieprzerwanej bezb艂臋dnej pracy. System
wysoce niezawodny pracuje d艂ugo bez wyst膮pienia defektu.
仞 Pomi臋dzy dost臋pno艣ci膮 a niezawodno艣ci膮 wyst臋puje subtelna r贸偶nica. Je偶eli
system jest niesprawny przez 1 milisekund臋 w ci膮gu godziny, to jego
dost臋pno艣膰 jest wysoka (wi臋ksza od 0,999999), ale niezawodno艣膰 jest
niezadowalaj膮ca, gdy偶 system wykazuje defekt co godzin臋.
仞 Bezpiecze艅stwo jest zapewniane wtedy, gdy defekt systemu nie powoduje
katastrofalnych skutk贸w.
40
仞 Integralno艣膰 oznacza brak niedozwolonych zmian stanu systemu.
仞 Istniej膮 r贸偶ne 艣rodki zapewnienia wiarygodno艣ci. Wymieni膰 tu mo偶na
zapobieganie defektom (ang. fault prevention), tolerowanie defekt贸w (ang. fault
tolerance), usuwanie defekt贸w (ang. fault removal) i przewidywanie defekt贸w
(ang. fault forecasting).
仞 Systemom RTS stawia si臋 r贸偶norodne wymagania, kt贸re mo偶na podsumowa膰
nast臋puj膮co:
41
1. Terminowo艣膰 - reakcja na zdarzenia powinna nast臋powa膰 zgodnie z
wymaganiami czasowymi.
2. Przewidywalno艣膰 - zdarzenia generowane przez otoczenie pojawiaj膮 si臋 w
przypadkowych momentach i mo偶e doj艣膰 do ich spi臋trzenia. Mimo to system
musi reagowa膰 zgodnie z wymaganiami (deterministycznie).
3. Wysoka wiarygodno艣膰 艣wiadczenia us艂ug - sk艂adaj膮 si臋 na ni膮 dost臋pno艣膰,
niezawodno艣膰, bezpiecze艅stwo, naprawialno艣膰, integralno艣膰 i ochrona.
4. Zale偶no艣膰 od otoczenia - system musi reagowa膰 na zdarzenia powstaj膮ce w
otoczeniu.
42
仞 Terminowo艣膰 to zdolno艣膰 do realizacji zada艅, kt贸rych termin jest 艣ci艣le
okre艣lony. Mo偶e to dotyczy膰 realizowania procedur, kt贸re maj膮 by膰 reakcj膮 na
pojawiaj膮ce si臋 zdarzenia, wykonywania procedur cyklicznie z zadanym z g贸ry
interwa艂em lub procedur, dla kt贸rych jest okre艣lony czas absolutny ich
wykonania.
仞 Przewidywalno艣膰 systemu ma miejsce wtedy, gdy realizowane w systemie
procedury niezale偶nie od okoliczno艣ci zajmuj膮 mniej wi臋cej tyle samo czasu.
Gdyby czasy wykonania tej samej procedury r贸偶ni艂y si臋 znacznie w zale偶no艣ci
od obci膮偶enia, przeszkadza艂oby to w pos艂ugiwaniu si臋 takim systemem i nie
by艂by to system przewidywalny.
43
仞 Jak wida膰, wymagania stawiane systemom RTS s膮 ostrzejsze ni偶 w przypadku
wi臋kszo艣ci innych system贸w. W zwi膮zku ze specyficznymi wymaganiami
implementacja system贸w RTS stanowi oddzieln膮 dziedzin臋 wiedzy i
umiej臋tno艣ci. Aby sprosta膰 wymaganiom stawianym systemom RTS, a w
szczeg贸lno艣ci spe艂ni膰 wymogi bezpiecze艅stwa, stosuje si臋 specyficzne metodyki
projektowe. Przyk艂adem takiej metodologii mo偶e by膰 wykorzystanie j臋zyka
UML (Unified Modeling Language) do projektowania system贸w. Do opisu
system贸w czasu rzeczywistego stosuje si臋 tak偶e j臋zyki formalne.
44
Systemy operacyjne czasu rzeczywistego
仞 Przyst臋puj膮c do realizacji systemu RTS, projektant ma zasadniczo dwie
mo偶liwo艣ci:
1. Zrealizowa膰 aplikacj臋 w ca艂o艣ci samodzielnie bez wykorzystania
istniej膮cego systemu operacyjnego.
2. Wykorzysta膰 istniej膮cy system operacyjny.
45
仞 Wyb贸r metody post臋powania zale偶y od konkretnych uwarunkowa艅
projektowych. Rozwi膮zanie pierwsze wykorzystuje si臋 zazwyczaj w przypadku
prostych aplikacji, kt贸rych realizacja opiera si臋 na kontrolerach
mikroprocesorowych. Poprzez prost膮 aplikacj臋 rozumie si臋 aplikacj臋 b臋d膮c膮
programem sekwencyjnym niestosuj膮cym zaawansowanych protoko艂贸w
komunikacji z urz膮dzeniami zewn臋trznymi i pozbawion膮 systemu plik贸w.
46
仞 Rozwi膮zanie drugie polega na u偶yciu istniej膮cego systemu operacyjnego.
Post臋powanie to jest odpowiednie dla przypadk贸w, gdzie w gr臋 wchodzi u偶ycie
bardziej z艂o偶onego sprz臋tu, je艣li aplikacja musi by膰 wsp贸艂bie偶na, u偶ywa si臋
systemu plik贸w, a do komunikacji z otoczeniem maj膮 by膰 stosowane
zaawansowane protoko艂y. Samodzielna implementacja wsp贸艂bie偶no艣ci, systemu
plik贸w i protoko艂贸w komunikacyjnych jest niezwykle pracoch艂onna. Otrzymane
rezultaty rzadko kiedy s膮 zadowalaj膮ce, gdy偶 wykrywanie i usuwanie b艂臋d贸w
jest bardzo 偶mudnym i czasoch艂onnym procesem.
47
仞 S艂uszna jest zatem tendencja do wykorzystania zakumulowanej ju偶 wiedzy i
wykorzystania istniej膮cego systemu operacyjnego.
仞 System operacyjny jest warstw膮 oprogramowania le偶膮c膮 pomi臋dzy
sprz臋tem a programami aplikacyjnymi.
仞 System operacyjny mo偶na zdefiniowa膰 jako zorganizowany zbi贸r modu艂贸w
oprogramowania, kt贸ry nadzoruje wykonanie program贸w i zarz膮dza dost臋pnymi
zasobami.
仞 W zale偶no艣ci od typu systemu mo偶e on zapewnia膰 dodatkowe us艂ugi.
仞 Podstawowymi zasobami systemu komputerowego s膮 procesory, pami臋膰,
urz膮dzenia peryferyjne oraz pliki danych.
48
仞 Pami臋膰 i procesor s膮 zawsze potrzebne do wykonania programu, pozosta艂e
elementy nie s膮 konieczne. System operacyjny jest programem, kt贸ry dzia艂a
jako po艣rednik mi臋dzy u偶ytkownikiem komputera a sprz臋tem komputerowym
(rysunek).
49
50
仞 Najwa偶niejsze funkcje systemu operacyjnego to:
- implementacja wsp贸艂bie偶no艣ci - proces贸w i w膮tk贸w;
- zarz膮dzanie urz膮dzeniami wej艣cia-wyj艣cia;
- implementacja pami臋ci wirtualnej;
- implementacja systemu plik贸w;
- implementacja protoko艂贸w komunikacyjnych;
- implementacja interfejsu z u偶ytkownikiem;
- zapewnienie bezpiecze艅stwa.
仞 Tak wi臋c system operacyjny pozwala na efektywne wykorzystanie mocy
obliczeniowej procesor贸w poprzez umo偶liwienie wsp贸艂bie偶nego ich
wykorzystania przez wielu u偶ytkownik贸w, wiele proces贸w i w膮tk贸w.
51
仞 Dostarcza on tak偶e narz臋dzi do bezpiecznego wsp贸艂dzielenia zasob贸w systemu
pomi臋dzy u偶ytkownikami i procesami.
仞 Zwalnia r贸wnie偶 u偶ytkownik贸w od uci膮偶liwo艣ci programowania z艂o偶onych
urz膮dze艅 wej艣cia-wyj艣cia.
仞 Dostarcza ponadto abstrakcyjnego mechanizmu pami臋ci operacyjnej w postaci
pami臋ci wirtualnej oraz abstrakcyjnej pami臋ci trwa艂ej w postaci systemu plik贸w.
仞 Komunikacja pomi臋dzy programami aplikacyjnymi a systemem operacyjnym
odbywa si臋 poprzez wywo艂ania systemowe (ang. system calls). Wywo艂anie
systemowe jest sposobem zlecania systemowi wykonania us艂ug. Ma ono
najcz臋艣ciej posta膰 funkcji lub procedury, w kt贸rej znaczenie parametr贸w i ich
typy s膮 dok艂adnie zdefiniowane i opisane.
52
仞 Zbi贸r wywo艂a艅 systemowych tworzy interfejs do systemu operacyjnego API
(ang. Application Program Interface).
仞 Z kolei system operacyjny komunikuje si臋 ze sprz臋tem za pomoc膮 instrukcji
wej艣cia-wyj艣cia i reaguje na zg艂aszane przez sprz臋t przerwania. Usytuowanie
systemu operacyjnego w systemie komputerowym pokazano na rysunku.
53
Rys. System operacyjny jako interfejs pomi臋dzy sprz臋tem a oprogramowaniem
54
仞 System operacyjny pozwala ukry膰 przed programist膮 z艂o偶ono艣膰 sprz臋tu.
Komputer jest wi臋c widziany przez programist臋 jako abstrakcyjny
mechanizm zdolny wykonywa膰 instrukcje j臋zyka programowania i zbi贸r
wywo艂a艅 systemowych. Mechanizm ten nazywa si臋 maszyn膮 wirtualn膮. Tak
wi臋c programista ma do czynienia raczej z maszyn膮 wirtualn膮 ni偶 z
rzeczywistym komputerem. Spos贸b dzia艂ania maszyny wirtualnej jest okre艣lony
standardami. Najpopularniejsze obecnie maszyny wirtualne to Win32 i .NET
utrzymywane przez Microsoft, Java opracowana przez Sun oraz POSIX 1003
definiowany przez IEEE.
55
仞 Nie ka偶dy jednak system operacyjny nadaje si臋 do zastosowa艅 czasu
rzeczywistego lub og贸lniej do cel贸w sterowania.
仞 Do cel贸w takich stosuje si臋 systemy operacyjne czasu rzeczywistego RTOS
(ang. Real Time Operating Systems).
仞 Wymagania, jakie powinien spe艂nia膰 system operacyjny czasu rzeczywistego, s膮
podobne do sformu艂owanych w poprzednim rozdziale dla system贸w czasu
rzeczywistego.
仞 Mo偶na wymieni膰 cechy, jakie powinien spe艂nia膰 RTOS. Podano je ni偶ej.
56
Wymagania funkcjonalne na system operacyjny czasu rzeczywistego
1. Determinizm.
2. Wysoka reaktywno艣膰 (ang. Responsivenees).
3. Wysoki stopie艅 kontroli u偶ytkownika nad prac膮 systemu.
4. Wysoka wiarygodno艣膰 艣wiadczonych us艂ug, zdolno艣膰 do tolerowania awarii.
5. Ma艂e zapotrzebowanie na zasoby.
6. Prosta konstrukcja i dobra dokumentacja.
7. Wsparcie dla r贸偶nych platform sprz臋towych.
8. Dobre wsparcie od dostawcy i stabilna pozycja na rynku.
57
仞 Z wymienionych powy偶ej cech, tylko cechy 1, 2 i 3 odnosz膮 si臋 do w艂asno艣ci
czasowych. Pozosta艂e dotycz膮 mo偶liwo艣ci zapewnienia d艂ugotrwa艂ej
bezawaryjnej pracy i 艂atwo艣ci tworzenia zastosowa艅 wbudowanych.
仞 Determinizm oznacza zagwarantowanie, 偶e wymagane ograniczenia czasu
odpowiedzi na zdarzenia zawsze b臋d膮 spe艂nione.
仞 Reaktywno艣膰 oznacza zdolno艣膰 odpowiedzi systemu na przerwania. Czas
odpowiedzi na przerwanie powinien by膰 deterministyczny i kr贸tki. Czas
odpowiedzi na przerwanie zale偶y w du偶ym stopniu od czasu, na jaki system
operacyjny blokuje przerwania (aby zabezpieczy膰 wewn臋trzne sekcje
krytyczne). W systemie RTOS czas blokowania przerwa艅 powinien by膰
mo偶liwie jak najkr贸tszy.
58
仞 Wysoki stopie艅 kontroli nad prac膮 systemu oznacza, 偶e system powinien
pracowa膰 w spos贸b zaplanowany przez u偶ytkownika. System taki nie powinien
 偶y膰 w艂asnym 偶yciem", wykonuj膮c na przyk艂ad samoczynnie aktualizacje
oprogramowania.
仞 Wysok膮 wiarygodno艣膰 艣wiadczonych us艂ug osi膮ga si臋 wieloma 艣rodkami.
Nale偶膮 do nich staranny projekt, bezb艂臋dna implementacja, wyczerpuj膮ce
testowanie systemu, modularna konstrukcja, wysoki stopie艅 separacji proces贸w.
仞 Zdolno艣膰 do tolerowania awarii polega na wsparciu wykrywania awarii,
monitorowaniu dost臋pno艣ci us艂ug i mechanizmu ich prze艂膮czenia. Mechanizmy
takie przewidziano w systemie QNX6 Neutrino.
59
仞 Jako 偶e RTOS cz臋sto jest stosowany w sterownikach wbudowanych, w kt贸rych
zasoby s膮 ograniczone, to i system operacyjny powinien charakteryzowa膰 si臋
umiarkowanym zapotrzebowaniem na zasoby (mi臋dzy innymi na pami臋膰 opera-
cyjn膮) i nie mo偶e wprowadza膰 du偶ego narzutu na operacje systemowe.
仞 Wa偶na jest tak偶e prosta konstrukcja i dobra dokumentacja systemu.
仞 Systemy RTOS s膮 instalowane na wielu platformach sprz臋towych, kt贸re r贸偶ni膮
si臋 typem procesora, uk艂ad贸w peryferyjnych i rodzajem pami臋ci. St膮d istotna
jest mo偶liwo艣膰 generowania kodu na r贸偶ne procesory i uk艂ady peryferyjne.
Niekt贸re RTOS zawieraj膮 specjalne narz臋dzia BSP (ang. Board Support
Package) umo偶liwiaj膮ce dostosowanie ich do specyficznych platform
sprz臋towych. Pakiet BSP jest dost臋pny tak偶e dla systemu QNX6 Neutrino.
60
仞 Kolejn膮 wa偶n膮 cech膮 RTOS jest dobre wsparcie od producenta lub dostawcy i
stabilna pozycja systemu na rynku. Tak wi臋c rzecz膮 wa偶n膮 jest, aby producent
systemu, po pierwsze, istnia艂, a po drugie, wspiera艂 system nawet wiele lat po
zaprzestaniu jego produkcji i dystrybucji.
61
Wymagane mechanizmy system贸w operacyjnych czasu rzeczywistego
1. System musi umo偶liwia膰 wykonywanie wielu proces贸w wielow膮tkowych.
2. W膮tki musz膮 charakteryzowa膰 si臋 priorytetami.
3. Musi by膰 stosowana wyw艂aszczaj膮ca strategia szeregowania.
4. System musi realizowa膰 mechanizm przewidywalnej synchronizacji w膮tk贸w.
5. Musi istnie膰 dziedziczenie priorytet贸w lub pu艂apy priorytet贸w.
6. System musi by膰 deterministyczny.
7. Musi by膰 pozbawiony b艂臋d贸w.
Przyk艂ady szerzej rozpowszechnionych system贸w operacyjnych czasu
rzeczywistego s膮 zebrane w tabeli.
62
Tab.. Przyk艂ady system贸w operacyjnych czasu rzeczywistego
Nr Nazwa Producent Platformy sprz臋towe
1 Solaris Sun Microsystems Sparc
2 LynxOS LynuxWorks 68K, MIPS, MPC8xx,
PowerPC, x86, Sparc, ARM
3 VxWorks Wind River Systems 68K, i869, ARM, MIPS,
PowerPC, x86, SH, SPARC
4 QNX QNX Software Systems X86, MIPS, PowerPC, SH4,
Neutrino ARM, Strong RM, xScale
5 RT Linux Open Source ARM, PowerPC, x86, SH3,
63
MIPS
6 Windows Microsoft ARM, MIPS, PowerPC, SH,
CE x86, Strong ARM, NEC,
VR4111
7 eCOS Open Source ARM, MIPS, MPC8xx,
PowerPC, Sparc
64
Standard POSIX 1003
仞 Obecnie ro艣nie rola standard贸w w oprogramowaniu. Dotyczy to w szczeg贸lnym
stopniu system贸w sterowania. Powodem jest rosn膮ca z艂o偶ono艣膰, koszt oraz
wymagany d艂ugi czas 偶ycia aplikacji przemys艂owych. Je偶eli aplikacja jest
dostosowana do pewnego otwartego, szeroko uznanego standardu, to s膮 wi臋ksze
szanse, 偶e przetrwa ona zmian臋 platformy sprz臋towej i programowej.
仞 W dziedzinie system贸w czasu rzeczywistego najszerzej stosowanym
standardem jest POSIX 1003. POSIX jest akronimem od Portable Operating
System Interface. Jest to rodzina standard贸w opracowanych przez grup臋 PASC
(Portable Application Standars Committee) w ramach stowarzyszenia IEEE -
65
Instytutu In偶ynier贸w Elektryk贸w i Elektronik贸w Ameryka艅skich (the Institute
of Electrical and Electonics Engineers).
仞 POSIX zosta艂 uznany za oficjaln膮 norm臋 przez Mi臋dzynarodow膮 Organizacj臋
Normalizacyjn膮 (ISO) oraz Mi臋dzynarodow膮 Komisj臋 Elektrotechniczna (IEC).
Nazw臋 POSIX zaproponowa艂 Richard Stallman - tw贸rca projektu GNU. POSIX
odnosi si臋 do serii standard贸w oznaczonych jako IEEE Std 1003.n (n jest
numerem), dotycz膮cych w艂asno艣ci system贸w operacyjnych. Celem prac jest
opracowanie standard贸w u艂atwiaj膮cych tworzenie przeno艣nego oprogramowania
na poziomie kodu zr贸d艂owego.
66
仞 Standaryzacja ta obejmuje:
1. Interfejs API pomi臋dzy aplikacj膮 a systemem operacyjnym dla j臋zyk贸w
C, Fortran i ADA.
2. Interfejs u偶ytkownika, czyli polecenia systemowe.
3. W艂asno艣ci pow艂oki (ang. shell).
67
仞 Pierwszym dokumentem by艂a norma POSIX 1003.1 opracowana w roku 1988.
Kolejne wersje powstawa艂y w nast臋pnych latach. POSIX 1003.1 definiuje API
do systemu operacyjnego, a w szczeg贸lno艣ci:
 tworzenie proces贸w i w膮tk贸w,
 system plik贸w,
 atrybuty plik贸w,
 u偶ytkownik贸w i grupy,
 zarz膮dzanie urz膮dzeniami,
 komunikacj臋 mi臋dzyprocesow膮 (sygna艂y, 艂膮cza, kolejki).
仞 Wzorem dla tej podstawowej specyfikacji by艂 system UNIX, dlatego systemy tej
klasy wykazuj膮 znaczny stopie艅 zgodno艣ci ze specyfikacj膮 POSIX.
68
仞 W ramach prac standaryzacyjnych wprowadzono rozszerzenia standardu 1003.1
dotycz膮ce system贸w czasu rzeczywistego. S膮 one nast臋puj膮ce:
69
IEEE Std 1003.1b - rozszerzenia czasu rzeczywistego
Rozszerzenie obejmuje szeregowanie priorytetowe, sygna艂y czasu
rzeczywistego, timery, priorytetowy system wej艣cia-wyj艣cia, komunikaty,
semafory, ochron臋 pami臋ci.
IEEE Std 1003.1c - w膮tki
Rozszerzenie wprowadza mo偶liwo艣膰 wykonywania wielu w膮tk贸w w ramach
jednego procesu. Definiuje atrybuty w膮tk贸w, szeregowanie w膮tk贸w, muteksy
i zmienne warunkowe.
70
IEEE Std 1003.1d - dodatkowe rozszerzenia czasu rzeczywistego
Rozszerzenie wprowadza now膮 semantyk臋 tworzenia proces贸w, szeregowanie
sporadyczne, monitorowanie czasu wykonania proces贸w i w膮tk贸w,
przeterminowania funkcji blokuj膮cych, obs艂ug臋 przerwa艅 od urz膮dze艅.
IEEE Std 1003.1J - zaawansowane rozszerzenia czasu rzeczywistego
Rozszerzenie definiuje wsparcie dla wielu typ贸w pami臋ci, op贸znienia
nanosekundowe, bariery, synchronizacje typu wiruj膮ce blokady (ang. spin
loocks), czytelnik贸w i pisarzy (ang. readers writers locks), zawiadomienia od
kolejek komunikat贸w.
71
IEEE Std 1003.21 - przetwarzanie rozproszone
Standard definiuje komunikacj臋 w rozproszonych systemach czasu
rzeczywistego, ograniczenie czasowe dla operacji blokuj膮cych, priorytety
komunikat贸w, etykiety komunikat贸w.
IEEE Std 1003.2h - wysoka dost臋pno艣膰
Standard dotyczy system贸w wysokiej dost臋pno艣ci, kt贸re maj膮 by膰
niezawodne i 艂atwo serwisowalne. Definiuje spos贸b ich testowania i
rekonfiguracji.
72
仞 Standard POSIX 1003.1 jest bardzo obszerny, w wielu przypadkach zbyt
obszerny jak na potrzeby wbudowanych system贸w czasu rzeczywistego. St膮d
wprowadzono norm臋 POSIX 1003.13, kt贸ra definiuje podzbiory cech obj臋tych
standardem. Nale偶y podkre艣li膰, 偶e norma ta nie definiuje 偶adnych nowych
w艂asno艣ci, a jedynie grupuje dotychczas istniej膮ce. Podzbiory cech nazywa si臋
profilami. W normie POSIX 1003.13 definiuje si臋 nast臋puj膮ce profile:
PSE51 - profil minimalny dla system贸w RTS
Profil jest przeznaczony dla prostych system贸w wbudowanych bez systemu
plik贸w, w kt贸rych wykonuje si臋 pojedynczy proces wielow膮tkowy.
73
PSE52 - profil kontrolera
Przeznaczony dla kontroler贸w czasu rzeczywistego. Jest rozszerzeniem
profilu minimalnego PSE51 o prosty system plik贸w. W systemie mo偶e
dzia艂a膰 jeden proces wielow膮tkowy.
PSE53 - profil dedykowany
Przeznaczony jest dla wi臋kszych system贸w wyposa偶onych w jednostk臋
zarz膮dzania pami臋ci膮 MMU (ang. Memory Management Unit). Profil jest
rozszerzeniem profilu minimalnego PSE51. Obejmuje wiele proces贸w
wielow膮tkowych, ale nie przewiduje istnienia systemu plik贸w.
74
PSE54 - profil og贸lnego przeznaczenia
Przeznaczony dla rozbudowanych system贸w RTS og贸lnego zastosowania.
Zawiera w sobie poprzednie profile. Umo偶liwia wykonywanie wielu
proces贸w wielow膮tkowych i implementuje pe艂ny system plik贸w oraz o
u偶ytkownik贸w i ich grupy.
Zestawienie najwa偶niejszych cech opisanych profili znajduje si臋 w tabeli.
Reasumuj膮c, mo偶na stwierdzi膰, 偶e standard POSIX 1003 odgrywa wiod膮c膮 rol臋 w
standaryzacji system贸w operacyjnych czasu rzeczywistego.
Tab. Profile zdefiniowane w normie P0SIX 1003.13
75
Profil Liczba proces贸w W膮tki System plik贸w
PSE51 Jeden Tak Nie
PSE52 Jeden Tak Tak
PSE53 Wiele Tak Nie
PSE54 Wiele Tak Tak
仞 Pe艂n膮 lub cz臋艣ciow膮 zgodno艣膰 z tym standardem deklaruj膮 takie systemy jak
Solaris, LynxOs, VxWorks, Irix. System QNX6 Neutrino wykazuje prawie
pe艂n膮 zgodno艣膰 ze standardem POSIX1003. Z szerzej stosowanych system贸w
operacyjnych tej klasy jedynie system Windows CE nie nawi膮zuje do
omawianego standardu, gdy偶 implementuje interfejs Win32 firmy Microsoft.
76


Wyszukiwarka

Podobne podstrony:
WYK艁AD 1 Wprowadzenie do biotechnologii farmaceutycznej
wyklad 1 wprowadzenie statystyki oisowe
03 Wyklad 1 (wprowadzenie do BM)
Wyk艂ad wprowadzaj拧cy
Wyklad 1 Wprowadzenie do tematyki?z?nych
Wyklad 1 Wprowadzenie do finansow przedsiebiorstwa
Wyk艂ad 1 Wprowadzenie do promocji zdrowia
Wyklad 1 Wprowadzenie do zzl, modele zzl
wyk艂ad wprowadzenie 01b
SOCR wyklad 2 Architektura QNX6?
wyk艂ad 1 wprowadzenie
wyklad wprowadzenie do pedagogiki
1 Wyklad Wprowadzenie
Wyk艂ad 2 Wprowadzenie
Wyk艂ad 6 Wprowadzanie DNA
Wyk艂ad 1 wprowadzenie do ekonomii
wyk艂ad 9 wprowadzenie do modeli dla zero jedynkowych zmi ennych objasnianych
2 wyk艂ad wprowadzenie do nowotwor贸w
CAD Wyklad Wprowadzenie

wi臋cej podobnych podstron