• Nie Znaleziono Wyników

Modelowanie opóźnień transmisji danych w systemach pomiarowych czasu rzeczywistego

N/A
N/A
Protected

Academic year: 2022

Share "Modelowanie opóźnień transmisji danych w systemach pomiarowych czasu rzeczywistego"

Copied!
12
0
0

Pełen tekst

(1)

Z E S Z Y T Y N A U K O W E PO LITECH N IK I Ś L Ą SK IE J Seria: E L E K T R Y K A z. 165

________1999 N r kol. 1412

Jerzy JA K U B IE C , Hamid A L RAIM I

Instytut M etrologii i Automatyki Elektrotechnicznej Politechnika Śląska

M O D E L O W A N IE O P Ó Ź N IE Ń T R A N S M I S JI D A N Y C H W S Y S T E M A C H P O M IA R O W Y C H C Z A S U R Z E C Z Y W I S T E G O

Streszczenie. W artykule opisano metodę badania opóźnień transmisji danych w systemach czasu rzeczywistego. Rozpatrywane są opóźnienia powodowane przez systemy operacyjne przyrządów mikroprocesorowych i sieciowy system operacyjny. M etoda ta polega na budowaniu modelu wykonywania procesów nadzorowanych przez system operacyjny przy założeniu losowej inicjacji poszczególnych zadań. Model jest testowany przez porównanie wyników symulacji jego działania z opisem analitycznym dla podstawowych sytuacji związanych z realizacją zadań przez rzeczywisty system operacyjny. Przedstawiono koncepcję wykorzystania opisanego modelu do badań systemu operacyjnego Q N X w połączeniu z pomiarem opóźnień w warunkach typowych dla systemu.

M O D E L L IN G D A T A T R A N S M IS S IO N D E L A Y IN R E A L -T IM E S Y S T E M S

Su m m ary . The paper presents a method o f determination o f data transmission delay caused by software in a real-time system (mainly by operating system s managing programmed instruments and network connections). The method consists in building a model o f managing processes by an operating system under assumption that processes are activated in a random way. The model has been tested by comparing the results calculated in analytical way with those obtained from simulation. A concept o f using the model to analyse delays introduced by Q N X operating system has been described.

1. W S T Ę P

Podstawowym parametrem programowanych systemów czasu rzeczywistego, jakimi są systemy automatyzacyjne, a często także i pomiarowe, jest szybkość dostarczania danych pomiarowych do urządzeń wykonawczych. Dla każdego tego rodzaju urządzenia można

(2)

IIP Jerzy Jakubiec. Hamid Al Raimi

określić maksymalne dopuszczalne opóźnienie między momentem pomiaru odpowiedniej dla niego wielkości a momentem, w którym przetworzony wynik pomiaru inicjuje działania sterujące. System działa w czasie rzeczywistym, o ile dla wszystkich urządzeń w systemie spełniony je st warunek uzyskiwania danych z akceptowalnym opóźnieniem.

Występowanie opóźnień czasowych może być interpretowane jako czynnik powodujący powstawanie specyficznego rodzaju błędów danych pomiarowych w sposób pokazany na rys. 1. Pomiar wielkości x(t) w chwili f0 dostarcza wyniku x(/a) , który dociera do urządzenia wykonawczego z opóźnień r . W chwili t0 + z rzeczywista wartość wielkości mierzonej wynosi x ( t 0 + r ) , zatem różnica

+ * 0 (O

stanowi błąd spowodowany opóźnieniem w transmisji wyniku wynoszącym r . Błąd ten zależy od szybkości zmian mierzonego przebiegu oraz od wartości opóźnienia z .

Rys. 1. Ilustracja powstawania błędu opóźnienia transmisji danych Fig. 1. Illustration o f data transmission error arising

System y czasu rzeczywistego pracują z zasady w sposób ciągły, a zatem pomiary wykonywane są wielokrotnie. Ponadto opóźnienia powodowane są przez wiele czynników zarówno o charakterze deterministycznym, jak i losowym. W praktyce przyczyny powodujące opóźnienia danych są charakteryzowane przez zbiór opóźnień { r } . Zbiór ten może być przekształcony w zbiór błędów {<5,} w sposób opisany w pracy [2], M ożna zatem stwierdzić, że punktem wyjścia do wnioskowania o niedokładności związanej z opóźnieniem transmisji danych w systemie jest wyznaczenie zbioru opóźnień cząstkowych wprowadzanych przez takie działania w systemie, które mają wpływ na różnicę między wartością uzyskaną w odbiorniku a rzeczywistą w artością wielkości mierzonej w tym momencie.

2. P R Z Y C Z Y N Y W Y S T Ę P O W A N IA O P Ó Ź N IE Ń W S Y S T E M I E

O gólna struktura systemu czasu rzeczywistego może być przedstawiona w sposób pokazany na rys.2. Zakłada się, że źródłem danych w systemie są czujniki próbkujące [3], które dostarczają kolejnych wyników pomiaru wartości chwilowych wielkości mierzonych z

(3)

Modelowanie opóźnień transmisji danych w systemach czasu rzeczywistego 111

określoną częstotliwością. Wyniki te są za pom ocą magistrali interfejsu rozprowadzane w całym systemie, a w szczególności są pobierane przez odpowiednie urządzenia wykonawcze.

Rys.2. Ogólna struktura systemu czasu rzeczywistego ze wskazaniem źródeł opóźnień Fig.2. General structure o f the programmed system with marked delay sources

N a rys.2 zaznaczono numerami kolejne punkty w systemie, w których występują działania pow odujące opóźnienia. Symbolem 1 w kółeczku oznaczono proces próbkowania, który cechuje pewna inercja układów elektronicznych realizujących to działanie. 2 symbolizuje opóźnienie wnoszone przez oprogramowanie czujnika próbkującego. N a opóźnienie to składa się realizacja przetwarzania programowego oraz opóźnienie wnoszone przez program zarządzający (system operacyjny) czujnika próbkującego. Numer 3 w skazuje opóźnienia powodowane przez nadawanie komunikatu za pom ocą interfejsu, głównie przez programy przygotowania komunikatu przekazującego wynik pomiaru oraz związane ze zw łoką w dostępie do interfejsu. Kolejny numer 4 dotyczy opóźnień wprowadzanych przez system operacyjny zarządzający interfejsem systemu oraz przez fizyczny proces przesyłania danych po liniach interfejsu. Numery 5,6 i 7 oznaczają opóźnienia w odbiorniku podobne do opóźnień w czujniku próbkującym: 5 - opóźnienie odbioru wyniku, 6 - systemu operacyjnego odbiornika, 7 - opóźnień związanych z mechaniczną bezwładnością urządzeń wykonawczych.

W dalszym ciągu artykułu rozważane są jedynie opóźnienia powodowane przez systemy operacyjne zarówno te, które zarządzają czujnikami i urządzeniami wykonawczymi, jak i sieciowym systemem operacyjnym. Celem artykułu jest opis metody modelowania opóźnień, których przyczyną są wymienione czynniki oraz scharakteryzowanie sposobu wykorzystania opracowanych modeli do badań opóźnień w systemie operacyjnym Q N X, traktowanym jako reprezentatywny system czasu rzeczywistego.

(4)

112 Jerzy Jakubiec. Hamid Al Raimi

3. P R O G R A M Z A R Z Ą D Z A JĄ C Y W P R Z Y R Z Ą D Z IE M IK R O P R O C E S O R O W Y M

Zarówno w czujniku próbkującym, jak i w urządzeniu wykonawczym mikroprocesor realizuje wiele zadań związanych przede wszystkim ze sterowaniem, przetwarzaniem programowym i komunikacją z systemem. Zadania te m ają podobny charakter w obu wymienionych elementach składowych systemu, stąd dalsze rozważania przeprowadzane są w odniesieniu do czujnika próbkującego. Wielość zadań wykonywanych na bieżąco stwarza potrzebę koordynowania ich realizacji za pom ocą programu zarządzającego, będącego czymś w rodzaju minisystemu operacyjnego przyrządu mikroprocesorowego. T ego rodzaju program, nazywany dystrybutorem, opisany w pracy [1], stanowi tutaj przedmiot analizy pod kątem wprowadzania opóźnień w realizacji poszczególnych zadań.

a ) Zadania Przerwania

Rys.3. Ogólna struktura programu zarządzającego; a) planista zadań, b) jądro

Fig. 3. General structure o f processor distribution program, a) task scheduler, b) kernel

(5)

Modelowanie opóźnień transmisji danych w systemach czasu rzeczywistego 113

Ogólnie działanie programu zarządzającego można przedstawić w sposób pokazany na rys. 3. Jest to system operacyjny wielozadaniowy, składający się z dwóch podstawowych części: planisty zadań i jądra. Planista ma za zadanie przygotowanie wektora stanu, którego bity w skazują na to, czy dane zadanie jest gotowe do realizacji, czy też nie. Zadania m ogą być aktywizowane za pom ocą przerwań lub przez inne zadania. Zakończenie realizacji zadania powoduje wyzerowanie bitu tego zadania w wektorze stanu.

Jądro programu zarządzającego działa wg schematu przedstawionego na rys.3 b. Jego zadaniem jest ciągłe sprawdzanie stanu bitów wektora stanu i podejmowanie decyzji o przydziale procesora zadaniu o najwyższym priorytecie zgodnie z hierarchią określoną przez sieć działań.

4. S Y M U L A C Y JN A R E A L IZ A C JA P R O G R A M U Z A R Z Ą D Z A JĄ C E G O

Program zarządzający może być także wykorzystany jako model realizacji procesów w wielozadaniowych systemach operacyjnych czasu rzeczywistego, co opisano w p.8. W takim przypadku często zachodzi potrzeba symulacyjnej realizacji jego działań. M a to na celu stworzenie dobrze zdefiniowanych warunków pracy programu zarządzającego, co pozw ala na analizę opóźnień wprowadzanych przez wybrany czynnik. T ego rodzaju symulacja wymaga zastosow ania generatora taktującego wykonywaniem działań przez jądro programu zarządzającego. Generator taki odmierza elementarne odcinki czasu, nazywane tu kwantami czasu, w trakcie których następuje jeden obieg pętli programu z rys.3 b. Cały kwant czasu At jest przeznaczony na wykonywanie aktywnego aktualnie zadania, czyli zakłada się, że czas

związany z analizą wektora stanu i realizacją pętli jest pomijalnie mały. Przyjmując, że czas realizacji zadania wynosi <9, może on być w takim przypadku określony jako

3 = k A t, (2)

gdzie k je st liczbą obiegów pętli jądra programu zarządzającego potrzebną na wykonanie zadania w całości.

W opisanej sytuacji także planista wykonuje swoje zadania w sposób, który można nazwać kwantowym. Mianowicie, musi on przygotować wektor stanu dla każdego kolejnego kwantu czasu A t . W badaniach symulacyjnych może to być zrealizowane na podstawie procedury określającej momenty aktywizowania poszczególnych zadań.

5. O P Ó Ź N IE N IE D A N Y C H NA W Y JŚ C IU C Z U JN IK A P R Ó B K U JĄ C E G O

Czujnik próbkujący dostarcza do systemu wartości chwilowe wielkości mierzonej.

Zakładając, że próbkuje on wielkość wejściową ze stałą częstotliwością / , odległość w czasie kolejnych wyników na jego wyjściu wynosi T = y . Jednak nawet w przypadku, gdy zadanie realizujące przetwarzanie surowego wyniku pomiaru na końcową postać cyfrową ma najwyższy priorytet (czyli numer 1 zgodnie z rys.3 b), to i tak inne zadania m ogą opóźnić jego

(6)

114 Jerzy Jakubiec. Hamid Al Raimi

wykonanie. Bierze się to stąd, że schemat z rys.3.b nie przewiduje wywłaszczania, tzn. zadanie o wyższym priorytecie musi poczekać, aż zadanie o priorytecie niższym zostanie zakończone.

M ożna powiedzieć, że schemat ten realizuje kolejkę zadań o ustalonych, coraz to niższych priorytetach.

Ph

i9i $1

< < =—X i—>

0 . i9j T T+ $1 + T\ t

t t

m o m e n t y a k t y w i z a c ji z a d a n ia 1

Rys.4. Ilustracja powstawania opóźnienia zadania 1 powodowanego przez zadanie 2; T - okres wykonywania zadania 1, i9, i - odpowiednio czasy realizacji zadań 1 i 2, r, - opóźnienie wnoszone do realizacji zadania 1 przez zadanie 2

Fig. 4. Illustration o f task 1 delay caused by task 2, T is the period o f task 1 activation, 5, and .92 are the times o f performing task 1 and task 2, respectively, r, is the task 1 delay caused by task 2

Przyczynę powstawania opóźnień w realizacji zadania 1, które ma najwyższy priorytet i jest inicjowane z okresem T, ilustruje rys.4. W przypadku gdy zdanie to uzyskuje dostęp do procesora w momencie aktywizacji, kończy się po czasie 5 , wymaganym na wykonanie wszystkich działań związanych z tym zadaniem. Natomiast jeżeli w chwili inicjacji realizowane jest inne zadanie, przykładowo zadanie 2, powoduje to dodatkowe opóźnienie r , , równe czasowi potrzebnemu na zakończenie aktywnego w tym momencie zadania 2. W podobny sposób opóźnienia m ogą być powodowane przez inne zadania zarządzane przez dystrybutor.

6. A N A LIT Y C Z N Y OPIS OPÓŹNIEŃ

Rozpatrzm y przypadek zilustrowany na rys.4, w którym zakłada się, że realizowane są tylko dwa zadania - 1 i 2. Jeżeli zadanie 2 zostanie zainicjowane w takim momencie, że zdąży zostać wykonane przed momentem 7', to nie spowoduje to opóźnienia w realizacji zadnia 1.

Zatem opóźnienie r, zadania 1 wynosi 0 dla momentu inicjacji zdania 2, oznaczonego symbolem t2, zawierającego się w zakresie od 0 do T - 92, gdzie &2 jest czasem realizacji zadania 2. Natom iast gdy t2 zmienia się w przedziale ( T - 9 2,T ) , opóźnienie r , narasta liniowo zgodnie z wyrażeniem

r , = t 1 + &t - T . (3)

Zatem ogólnie opóźnienie w realizacji zadania 1 powodowane przez zadanie 2 można przedstawić w postaci wyrażenia:

(7)

M odelowanie opóźnień transmisji danych w systemach czasu rzeczywistego 115

(4)

0

+ i9,

0 jeżeli 0 < / 2 < T — 5 , lub / 2 > 71 [t1 + 9 1 - T jeżeli T - <9j < f2 < T }

Przeprow adzając podobne rozumowanie dla przypadku, gdy realizowane są trzy zadania o numerach 1, 2 i 3 i odpowiednich czasach realizacji 5 , , <92 i 5 , , otrzymuje się następującą zależność czasu opóźnienia zadania 1 w funkcji chwil inicjacji f2 i t3 odpowiednio dla zadań 2

i 3:

dla t2 <t3,0 < t2 < T - 9 2 - 93,0 < t3 < T - 93 lub t2 >t3,0 < t3 < T - 9 2 - 9 3,0 < t2 < . T - 9 2 lub i2 > T i / 3 > T

dla t2 <t3,0 < t2 < T - 9 2 - 9 2, T - 9 2 <t3 <T lub t2 <t3, T - 9 2 - 9 3 <t2 < T - 9 3,t2 + 92 <t3 < T lub t2 >t3, T - 9 2 <t3 <T

r! =g(>2’l3) = \ t 2 + & 2 +&i - T dla t2< t3, T - 9 2 - 9 3 <t2 < T - 9 3, T - S 2 - 9 3 < r3< T - 9 3 lub l2 ś t 3, T- 92 - 93 <t2 < T - 93, T - ¡93<t3 < t2 + 92 t2 + 92 - T dla t2<t3, T - 9 3 < t2 <T

lub t2 >t3,0 < t3 < T - 9 2 - 93, T - 9 2 <t2 < T lub t2 > t3,T - 92 - 93 <t3 < T - i92 , / 3+ 93 < i2 < T

<3 + # 2 + 93 - T dla i2 > t3, T - 92 - 93 < t3 S T - 92, T - 92 - 93 < t2 < t3 lub t2>t3,T - 92 - 93 <t3 <,T - 92,T - 92 < t2 <l3 + 93

(5>

Pow yższe wyrażenia opisują deterministyczne zależności między opóźnieniem zadania 1 a momentami inicjacji pozostałych zadań w analizowanych przypadkach zadań 2 i 3. W praktyce wiele zadań inicjowanych jest w sposób losowy lub m uszą być tak opisywane ze względu na brak danych umożliwiających określenie rzeczywistych momentów inicjacji. W takim przypadku przy wielokrotnej realizacji zadania 1 opóźnienie r, jest również wielkością losową. M ożna wyznaczyć gęstość prawdopodobieństwa opóźnienia r, znając gęstość prawdopodobieństwa momentów inicjacji pozostałych zadań.

Rozpatrzm y prosty przypadek, gdy dystrybutor zarządza realizacją dwóch zadań: zadania 1, inicjowanego z okresem T oraz zadania 2, aktywizowanego losowo, przy czym funkcja gęstości prawdopodobieństwa ma rozkład równomierny w przedziale [0, T], Funkcję tę można zapisać następująco:

j dla i2 e [0,71

(6)

0 dla t2 g [0 , T]

W yznaczanie funkcji / fl ( r , ) gęstości prawdopodobieństwa opóźnienia r, najwygodniej jest przeprowadzić wykorzystując do tego celu funkcje charakterystyczne [5], Funkcja charakterystyczna <t>r] {co) zmiennej losowej r, jest definiowana jak o wartość średnia

= E { e ^ } ^ ) e ^ " f , X r , ) d r , . (7)

Z drugiej jednak strony dla znanego związku między wielkościami losowymi r, = g ( t 2) zachodzi zależność [5]:

(8)

116 Jerzy Jakubiec. Hamid Al Raimi

< & „ (« ) = J e ' - w / lł(/ł )drł . (8) W prowadzając do całki (8) zależność (6) i rozdzielając granice całkowania otrzymuje się:

T - a, J “ «

* „ ( » ) = j e ± d i 1+ f e ^ - r^ d t 2.

0 i T - S, 1

(9) Oznaczając pierwszy składnik wyrażenia (9) jako <&,(««), a drugi jak o <J>2 (<3j) , uzyskuje się:

<I>rl (o») = O, (o>) + <D2 (g>) (10) Pierwszy składnik opisuje następująca zależność:

<D,(®)

= j{T-at).

(11)

Natom iast drugi składnik po zmianie zmiennej zgodnie z (3), czego wynikiem jest zależność

/ . » r - J . + r , , (12)

i odpowiedniej zmianie granic całkowania przyjmuje postać:

(13) Zgodnie z wyrażeniem (6) zależność (13) stanowi zapis funkcji charakterystycznej zmiennej losowej t, o gęstości / » „ ( r ,) opisanej jako:

j dla t , e [0 ,.9 j]

(14)

0 dl ar, ¿ [ 0 , 5 , ]

Stosując teraz odwrotne przekształcenie Fouriera w odniesieniu do wyrażenia (10) otrzymuje się:

( O = 1 (.<o)e-*"'dco = ~ ] <t>t(co)e-^do, + ((o)e J“"dco =

I n -CO — ao 2 7 T .

1 ® T _ Q

Całka

1 2^-.,

(15)

(16) stanowi zapis funkcji delta [5]. Zatem pierwszy składnik wyrażenia (15) można wyrazić jako

T 2 n i T (17)

Składnik ten je st określony jedynie dla r, = 0 , co wynika z analizy pierw szego składnika wyrażenia (9). Zatem gęstość prawdopodobieństwa opóźnienia r, przyjmuje postać:

L - j L S {0) + j dl ar, e [ 0 , 5 J

(18)

0 dl ar, g [ 0 , 5 2]

Zależności funkcyjne opisujące rozpatrywany powyżej przypadek przedstawia rys.5.

(9)

M odelowanie opóźnień transmisji danych w systemach czasu rzeczywistego 117

a) b) c)

Rys.5. Zależności funkcyjne opisujące opóźnienie zadania 1 powodowane występowaniem zadania 2; a) zależność między momentem wystąpienia zadania 2 a w artością opóźnienia zadania 1, b) funkcja gęstości prawdopodobieństwa występowania zadania

2, c) odpowiadająca jej funkcja gęstości prawdopodobieństwa opóźnienia zadania 1

Fig.5. Relationships describing task 1 delay caused by execution o f task 2; a) dependence between the moment o f task 2 activation and the task 1 delay, b) probability density function o f the task 2 activation, c) proper probability density function o f the task 1

delay

Analityczny opis opóźnień w systemie ma w praktyce ograniczony zakres zastosow ań, ponieważ m oże być przydatny jedynie w najprostszych przypadkach. Tym niemniej je g o rola je st dość istotna, gdyż pozw ala na weryfikację wyników analiz wykonanych w inny sposób, głównie symulacyjnie.

7. S Y M U L A C Y JN E W Y Z N A C Z A N IE R O Z K Ł A D Ó W O P Ó Ź N IE Ń

Jak wynika to z postaci równania (5), ju ż w przypadku, gdy dystrybutor zarządza 3 zadaniami, analityczny opis opóźnienia zadania 1 staje się dość złożony. Złożoność ta szybko rośnie wraz ze wzrostem liczby zdań. Powoduje to, że konieczne staje się wyznaczanie rozkładów opóźnień w sposób symulacyjny. Jest to realizowane następująco. Program symulacyjny jest testowany dla prostych przypadków przez porównanie wyników uzyskiwanych za je g o pom ocą z opisem analitycznym. N a tej podstawie twierdzi się poprzez indukcję, że wyniki uzyskiwane dla bardziej złożonych sytuacji są poprawne. Uprawnia do tego zastosow any sposób symulacji. Otóż algorytm symulacyjny ma taką sam ą strukturę jak algorytm realizowany w praktyce. Ponadto struktura ta nie zmienia się wraz ze wzrostem liczby zadań. Symulowane jest jedynie inicjowanie zadań w sposób narzucony przez przyjęte warunki badań.

W praktyce symulacja przeprowadzana jest następująco. Zakłada się, że zadanie 1 inicjowane je st 100 000 razy ze stałym okresem T. Przyjmuje się ponadto, że zdarzenia zachodzące podczas kolejnych cykli nie wpływają na siebie (wszystkie zainicjowane w danym cyklu zadania kończą się w taki sposób, że nie zakłócają realizacji zadań w kolejnym cyklu).

Podejście takie umożliwia realizację każdego cyklu niezależnie, czyli dystrybutor za każdym razem rozpoczyna działanie od początku. Dla każdego cyklu generowany je st wektor momentów inicjacji zadań przy użyciu generatora liczb losowych (w razie potrzeby zadania

(10)

118 Jerzy Jakubiec. Hamid Al Raimi

m ogą być również inicjowane deterministyczne). Wektor ten jest przetwarzany na wektor stanu w każdym kolejnym kroku działania dystrybutora. Przyjmuje się, że kroków tych w każdym cyklu jest 1 0 0 0, co określa rozdzielczość czasow ą (długość kwantu czasu) uzyskiwanych danych równą 10~3. Dla każdego cyklu zapamiętywane jest opóźnienie r, zadania 1. Zbiór opóźnień przedstawiany jest w postaci histogramu reprezentującego częstość występowania poszczególnych opóźnień w sposób przedstawiony na rys.6.

R ys.6. Przykładowe histogramy opóźnień zadania 1 uzyskane drogą symulacyjną; a) dystrybutor realizuje 2 zdania, b) 3 zadania

Fig. 6. Exam plary histograms o f the task 1 delay obtained in the simulation way; a) the distribution program executes two tasks, b) three tasks

8. B A D A N IE O P Ó Ź N IE Ń W S Y S T E M IE O P E R A C Y JN Y M Q N X

Q N X je st wielozadaniowym systemem operacyjnym czasu rzeczywistego [6] [7], który m oże być traktowany jako swojego rodzaju standard dla tego rodzaju systemów. Planista systemu Q N X realizuje wszystkie podstawowe procedury aktywizacji procesów (zadań). Jądro systemu ma bardzo prostą budowę, dzięki czemu wnosi stosunkowo niewielkie własne opóźnienia. Pow yższe właściwości sprawiły, że przyjęto go jako obiekt badań w celu wyznaczenia opóźnień występujących w trakcie działania systemu operacyjnego czasu rzeczywistego.

W systemie Q N X wzajemne relacje między procesami można określić dwojako. Pierwsza sytuacja zachodzi, gdy procesy mają ten sam poziom priorytetu. W ów czas nie m ogą wzajemnie odbierać sobie procesora. Druga sytuacja ma miejsce, gdy procesy ustawiane są na różnych poziomach priorytetów - w takim przypadku zachodzi wywłaszczanie, czyli proces o wyższym priorytecie zabiera procesor procesowi o niższym priorytecie. T aka sam a zależność zachodzi również między podprogramami obsługi przerwań. Obie wymienione sytuacje można opisać za pom ocą odpowiednio zmodyfikowanej sieci działań programu zarządzającego, przedstawionej na rys. 3. Modyfikacja polega na dostosowaniu numerów zadań dystrybutora do aktualnego poziomu priorytetu i zastosowaniu odpowiedniej procedury generowania wektora stanu.

Q N X realizuje trzy sposoby planowania procesów: algorytm karuzelowy, kolejkę i algorytm adaptacyjny. M ożna wykazać, że powyższe algorytmy planowania dają się również zam odelować przy użyciu dystrybutora odpowiednio zmodyfikowanego. Oznacza to ogólnie, że dystrybutor wyposażony w dodatkowy algorytm określający strukturę zadań wraz z

(11)

M odelowanie opóźnień transmisji danych w systemach czasu rzeczywistego 119

odpowiednią procedurą wyznaczania wektora stanu może stanowić model złożonego systemu operacyjnego czasu rzeczywistego.

Prowadzone aktualnie badania mają na celu symulacyjne wyznaczenie rozkładów opóźnień dla typowych sytuacji, które występują w systemie QNX. Wyniki tych badań zostaną porównane z wynikami pomiaru opóźnień dla odpowiednich sytuacji w rzeczywistym systemie.

M a to na celu potwierdzenie zasadności tezy o możliwości zastosow ania programu zarządzającego jako modelu systemu operacyjnego czasu rzeczywistego do opisu zjawisk związanych z opóźnieniami w transmisji danych w tego rodzaju systemach.

9. P O D SU M O W A N IE

Opisane badania m ają na celu opracowanie procedury umożliwiającej wyznaczanie sumarycznego opóźnienia w systemie na podstawie znajomości odpowiednich parametrów systemu. Zm ierzają one zatem do określenia, jakie parametry systemu są niezbędne, aby można było określić opóźnienia cząstkowe, a następnie jak należy je składać, aby uzyskać opóźnienie wypadkowe. Końcow e działanie ma polegać na wyznaczeniu niepewności wyniku pomiaru związanej z występującym opóźnieniem.

Aktualny stan badań w tym zakresie opisano w niniejszym artykule. Opracowano i przetestowano program symulacyjnego badania rozkładów opóźnień, który może być stosow any do wyznaczania opóźnień w sytuacjach typowych dla rzeczywistego systemu operacyjnego. Przygotowano również stanowisko do pomiaru tego rodzaju opóźnień [3], które pozwoli na przeprowadzenie pomiarowej weryfikacji opracowywanych procedur składania opóźnień cząstkowych.

LIT E R A T U R A

1. Jakubiec J. - Program dystrybucji zadań w mikroprocesorowym przyrządzie pomiarowym.

Zeszyty N aukow e Pol. Śl. s. Elektryka, z. 134, Gliwice 1996

2. Jakubiec J., Al Raimi H. - Niedokładność wyników pomiaru spowodowana czasow ą niepewnością próbkowania przebiegów sinusoidalnie zmiennych. Zeszyty N aukow e Pol.

Śl. s. Elektryka, z. 158, Gliwice 1997

3. Jakubiec J. - O pewnych kierunkach rozwoju programowanych przetworników pomiarowych. Zeszyty Naukow e Pol. Śl., s. Elektryka, z. 165, Gliwice 1999

4. Kasprzycki M. - Stanowisko laboratoryjne do badania czasu propagacji danych w systemach pomiarowych. Praca magisterska. Inst. Metrologii i Automatyki Elektr., Pol. Śl., Gliwice

1998

5. Papoulis A. - Prawdopodobieństwo, zmienne losowe i procesy stochastyczne. WNT, W arszaw a 1972

(12)

120 Jerzy Jakubiec. Hamid Al Raimi

6. Sacha K. - Q N X - system operacyjny. WNT, Warszawa 1995

7. Q N X 4 Operating System. System Architecture. Q N X Software Systems Ltd. 1993

Wpłynęło do redakcji dnia 1 grudnia 1998 r.

Recenzent: Doc. dr hab. inż. Adam Mrózek

A b s tr a c t

A basic parameter o f a real-time system, such as measuring or automatic system, is a time interval between the moment when a measured quantity is sampled and the moment when the digital measuring result gets to the place where it is used. One can point out several causes o f such delays in the system, some o f them are o f hardware, some o f software nature. The paper describes a method o f investigation o f the delays caused by operating systems managing both programmed instruments and data transmission in the system. A distribution processor program called distributor has been used as a model o f the operating system. According to its simplicity, timing o f the multi-tasking process execution can be described analytically when the moments o f the task initiation are o f random nature. This is possible in some simple situations but in general the distributor is examined in a simulation way. It is important that task managing o f such real-time network system as Q N X could be modelled using the distributor as it has been shown in the paper. Som e results o f delay analysis obtained both in analytical and simulative way have been presented.

Cytaty

Powiązane dokumenty

Głównym celem wykorzystania przez autora symulacji w trybie rzeczywistym jest przyspieszenie obliczeń symulacyjnych, weryfikacja algorytmu sterowania bez narażania układu

3: Turkiewicz, Wąchała, Sulikowska, Marzec, Parchimowicz, Kordos, Trybuła, Drozdalska, Szewczyk, Beszczyńska, Kors, Wojciechowska, Zakrzewska, Szablewska, Krauze,

Sponsorzy, badacze oraz inne osoby zaangażowane w prowadzenie badań klinicznych z wielkimi nadziejami przyjęli informację o powołaniu w maju ubiegłego roku zespołu do

System Inno- vian automatycznie i w sposób nieprzerwany zbiera in- formacje o parametrach życiowych chorego z urządzeń medycznych zainstalowanych w sali operacyjnej i na

kresie szczepień standardowych, lecz także przeciwko tym chorobom, na które uodpornienie jest społecznie istotne, a przeciw którym szczepionki zostały opracowa­. ne

Według wytycznych Europejskiego Towarzystwa Kardio- logicznego preferowaną formą leczenia jest pierwotna an- gioplastyka wieńcowa, a czas od pierwszego kontaktu z personelem

Węzeł taki – szczegól- nie w chwilowych przeciążeniach sieci lub w sytuacjach awa- ryjnych polegających na uszkodzeniu systemu transmisyjnego lub będących wynikiem zaistniałych

• Ostateczny termin zakończenia (ang. Precedence Constraints), specyfikuje że dane zadanie powinno poprzedzać inne.. Elementarn ą funkcją systemu czasu rzeczywistego jest