Sprz etowy zegar czasu rzeczywistego RTC. Synchronizacja zegara RTC. Timer sprz etowy. Timer sprz etowy (cd.)
|
|
- Wacława Niemiec
- 8 lat temu
- Przeglądów:
Transkrypt
1 Sprzetowy zegar czasu rzeczywistego RTC Zegar czasu rzeczywistego (real time clock RTC) jest urzadzeniem odmierzajacym up lywaj acy czas w skali bezwzglednej. Czas rzeczywisty nazywany jest również czasem kalendarzowym. Zegar RTC typowo posiada w lasne źród lo zasilania, albo zewnetrzne albo wbudowane w uk lad zegara, pozwalajace na prace przy braku normalnego zasilania. Synchronizacja zegara RTC System operacyjny typowo pobiera czas z zegara czasu rzeczywistego tylko w czasie startu. W czasie pracy system odmierza up lywaj acy czas zliczajac kolejne odcinki czasu na podstawie przerwań z timera, które typowo sa dok ladniejsze niż zegar czasu rzeczywistego. W systemach wymagajacych bardzo dok ladnego czasu, po pe lnym starcie system może zsynchronizować swój zegar z jakimś wzorcem zewnetrznym. Na przyk lad, może to być internetowy serwer czasu. Jednak wiele systemów czasu rzeczywistego nie jest po laczonych z Internetem (czesto z różnych powodów nie może być). W systemach czasu rzeczywistego ważniejsza od dok ladności bezwzglednej, jest czesto synchronizacja miedzy elementami systemu. Rozważmy na przyk lad system przemys lowy produkujacy jeden lub wiecej detali na sekunde, w którym systemy obs lugujace różne elementy linii produkcyjnej mia lyby czas różniacy sie o sekunde. W takich systemach można desygnować jeden z systemów jako wzorcowy, i pozosta le systemy powinny z nim okresowo synchronizować swój czas. Jednak elektroniczny zegar czasu rzeczywistego nie jest podstawowym mechanizmem za pomoca którego systemy komputerowe odmierzaja czas. W czasie startu systemu zegar jest synchronizowany skokowo. Potem, w czasie normalnej pracy nastepuje okresowa synchronizacja, która musi być wykonywana bardzo ma lymi kroczkami, aby nie spowodować zaburzeń w pracy systemu. Reprezentacja czasu, zegary, timery zegary RTC 1 Reprezentacja czasu, zegary, timery zegary RTC 2 Timer sprzetowy Timer (czytaj: tajmer) jest urzadzeniem odmierzajacym odcinek czasu, po którym generuje zdarzenie. W odróżnieniu od zegarów które typowo licza czas w sposób ciag ly do przodu, timery zwykle odmierzaja odcinek czasu od zaprogramowanej wartości w dó l, i generuja jakieś zdarzenie po osiagnieciu wartości zero. Timer sprzetowy (cd.) Osiagniecie zera przez licznik nazywamy przeterminowaniem (expiration) timera. Sytuacje te timer sygnalizuje generujac jakieś zdarzenie. W systemie komputerowym zwykle jest to przerwanie. Timer elektroniczny może pracować cyklicznie, automatycznie wznawiajac odliczanie po przeterminowaniu sie. System komputerowy zwykle posiada jeden lub wiecej timerów sprzetowych, natomiast system operacyjny może implementować wiele timerów programowych. System operacyjny może utrzymywać informacje o czasie rzeczywistym przez inkrementowanie wartości czasu po każdym przeterminowaniu timera. Elektroniczny timer sprzetowy jest skonstruowany z oscylatora, który generuje przebieg zmienny o określonym okresie i licznika zaprogramowanego na pewna liczbe, który przy każdym impulsie oscylatora dekrementuje (zmniejsza o jeden) te wartość. Po osiagnieciu zera timer generuje sygna l i cykl kończy sie. Reprezentacja czasu, zegary, timery timery sprzetowe 3 Reprezentacja czasu, zegary, timery timery sprzetowe 4 Funkcje czasu interfejs tradycyjny Tradycyjne unixowe funkcje czasu zegarowego wyrażaja czas w sekundach. Funkcja time zwraca czas bieżacy jako liczbe sekund, jakie up lyne ly od godziny 00:00 dnia 1 stycznia #include <sys/types.h> time_t time(time_t *tloc); Typ time_t jest równoważny long int (ze znakiem) i pozwala na reprezentacje czasu od godziny 0:00 1 stycznia 1970 do godziny 04:14:07 19 stycznia Faktżedoodliczaniaczasuużytajestliczbazeznakiemwydajesiemarnotrawstwemjednegocennegobitu.Użycie liczby bez znaku wyd luży loby życieunixa do roku 2106 (ale kosztem niemożności zg laszania b ledu funkcji time przez wartość-1). Zatem w roku 2038 można oczekiwać w systemach komputerowych na platformie Unixa problemów z czasem, podobnych do tych, które wystepowa ly na innych platformach na poczatku roku W rzeczywistości różne problemy z czasem zacze ly sie już pojawiać. 10 stycznia 2004 o godzinie 14:37:04 mine la po lowa okresu życia Unixa (czyli ustawi l sie najwyższy bit), ale w laśnie dzieki zastosowaniu liczby ze znakiem oby lo sie bez wiekszych b ledów, zawinionych przez programistów, którzy by o tym znaku zapomnieli. 12 maja 2006 pojawi ly sie raporty o wielu zwisachbaz danych, które nastapi ly dok ladnie jeden miliard sekund przed feralna data 2038 roku. Okaza lo sie, że w niektórych serwerach ustawione by ly tak d lugie time-outy na transakcje, i programy sprawdzajace date po tym okresie nie mog ly sobie poradzić z otrzymanymi wynikami... Funkcje czasu obliczenia kalendarzowe Funkcja localtime tworzy i wype lnia strukture struct tm, która daje dostep do elementów aktualnego czasu. Brana jest pod uwage lokalna strefa czasowa, czas letni/zimowy, lata przestepne, a nawet sekundy przestepne. 2 Funkcja mktime zamienia strukture czasowa tm na liczbe sekund jak w funkcji time, dodatkowo kompletujac i normalizujac pola w strukturze, które moga być wype lnione cześciowo, lub poza zakresem (np. tm_hour < 0 lub > 23). struct tm *localtime(const time_t *clock); time_t mktime(struct tm *timeptr); struct tm { int tm_sec; /* seconds after the minute - [0, 61] */ /* for leap seconds */ int tm_min; /* minutes after the hour - [0, 59] */ int tm_hour; /* hour since midnight - [0, 23] */ int tm_mday; /* day of the month - [1, 31] */ int tm_mon; /* months since January - [0, 11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday - [0, 6] */ int tm_yday; /* days since January 1 - [0, 365] */ int tm_isdst; /* flag for alternate daylight savings time */ 2 Ostatnia sekunda przestepna, określana przez organizacje IERS (International Earth Rotation Service), wystapi la (równocześnie na ca lym świecie): :59:60Z. Kolejna wyznaczona jest na 30 czerwca 2015, godz.23:59:60z. Wiecej o sekundach przestepnych: Reprezentacja czasu, zegary, timery interfejs tradycyjny 5 Reprezentacja czasu, zegary, timery interfejs tradycyjny 6
2 Funkcje czasu wirtualnego procesów Zupe lnie inna role pe lni funkcja times obliczajaca czas procesora zużyty na obliczenia danego procesu. #include <sys/times.h> #include <limits.h> clock_t times(struct tms *buf); struct tms { clock_t tms_utime; /* user time */ clock_t tms_stime; /* system time */ clock_t tms_cutime; /* user time, children */ clock_t tms_cstime; /* system time, children */ Funkcja times zwraca czas zegarowy, jaki up lyn a l od jakiegoś arbitralnie ustalonego momentu w czasie. (Może to być np. moment startu systemu.) Jednostka jest tzw. tik (tick), którego liczbe na sekunde określa makro clk tck (przyk ladowo 50, 60, a najcześciej 100). Struktura struct tms jest wype lniana przez funkcje times wartościami czasu procesora zużytego przez proces, i oddzielnie jego zakończone podprocesy, które zosta ly poprawnie obs lużone funkcja wait. Te wartości czasu sa podobnie liczone od arbitralnego momentu i podane w tych samych jednostkach. Ponadto wirtualne czasy zarówno procesu jak i potomków liczone sa w rozbiciu na tzw. czas użytkownika, czyli wykonanie instrukcji programu, i czas systemu, tzn. obliczenia jadra Unixa: funkcje systemowe i operacje pomocnicze (narzuty). Poza rola jednostki czasu wirtualnego procesów, tik tradycyjnie pe lni w systemach operacyjnych inna ważna role. Tikiem nazywane jest przerwanie programowe (ściślej, tik jest okresem tego przerwania, typowo 100/s, czyli 10ms), obs lugiwane przez system, który budzi sie z ta czestotliwości a, i obs luguje różne zdarzenia: przeterminowane timery (systemowe), planowanie procesów, itp. Wartość tik definiuje zatem rozdzielczość (resolution) zegara systemowego, czyli czestotliwość z jaka jest aktualizowany. W nowoczesnych systemach operacyjnych ta rola tiku coraz cześciej okazuje sie nieodpowiednia. Dla systemów czasu rzeczywistego, planowanie procesów z okresem 10 milisekund jest czesto niewystarczajace. Natomiast w systemach wymagajacych energooszczedności, budzenie sie 100 razy na sekunde uniemożliwia procesorowi wchodzenie w tryby g lebokiego uśpienia. Reprezentacja czasu, zegary, timery interfejs tradycyjny 7 Reprezentacja czasu, zegary, timery interfejs tradycyjny 8 Timer procesu Interfejs tradycyjny wprowadzi l w lasny timer programowy czasu rzeczywistego dla każdego procesu. Nazywany budzikiem (ang. alarm) timer programowany jest w sekundach, i po przeterminowaniu przysy la do procesu dedykowany mu sygna l SIGALRM. 3 #include <unistd.h> unsigned int alarm(unsigned int seconds); Nie ma oddzielnych operacji zaprogramowania i wystartowania timera po zaprogramowaniu niezerowej wartości timer od razu uruchamia sie. Jeśli by l już uruchomiony to wywo lanie funkcji powoduje jego zaprogramowanie na nowa wartość. W tym przypadku funkcja zwraca liczbe sekund pozosta l a do poprzednio zaprogramowanego przeterminowania. Wywo lanie funkcji z argumentem 0 powoduje zatrzymanie timera, o ile by l uruchomiony. 3 Fakt, że twórcy Uniksa uznali, że odmierzanie czasu rzeczywistego dla procesu może być wyrażone w sekundach, jestswoistymznakiemczasu.napoczatku lat 70-tych dwudziestego wieku nie przewidywali oni zastosowań, w których potrzebne (albo wrecz praktycznie możliwe) by loby odcinki 0.1 sekundy, 0.01 sekundy, albo nawet na milisekundy, mikrosekundy, nanosekundy... Zawieszenie wykonywania procesu funkcja sleep W tradycyjnym interfejsie systemów uniksowych istnieje funkcja sleep pozwalajaca zawiesić wykonywanie procesu na określona liczbe sekund. W trakcie wykonywania tej funkcji proces pozostaje w stanie uśpienia, normalnie wykorzystywanym do oczekiwania na jakieś zasoby, blokady, operacje I/O, itp. #include <unistd.h> unsigned int sleep(unsigned int seconds); Funkcja sleep może zakończyć sie po czasie innym niż zadana liczba sekund. Szybszy powrót jest możliwy gdy proces otrzyma sygna l, nawet jeśli zostanie on obs lużony po zakończeniu obs lugi sygna lu i wznowieniu funkcji sleep nastepuje natychmiastowe jej zakończenie. W takim przypadku funkcja zwraca liczbe nieprzespanychsekund. Możliwy jest również późniejszy niż zadany powrót z funkcji sleep, np. w wyniku zwyk lego planowania procesów. Niektóre starsze implementacje funkcji sleep wykorzystywa ly sygna l SIGALRM, i w efekcie kolidowa ly z ewentualnym wykorzystaniem timera przez proces. Wspó lczesne wersje nie maja tej wady. Dzia laj a również poprawnie w środowisku wielowatkowym, usypiajac tylko wywo luj acy watek. Reprezentacja czasu, zegary, timery interfejs tradycyjny 9 Reprezentacja czasu, zegary, timery interfejs tradycyjny 10 Funkcje czasu napisy sformatowane Funkcja ctime tworzy zapis daty i czasu w postaci stringa o ustalonym 26-znakowym formacie: "Thu Nov 23 11:04: \n\0". Wyświetlany jest zawsze czas lokalny, i napis ten nie podlega żadnym, lokalizacjom, konwencjom, ani konwersjom. char *ctime(const time_t *clock); Istnieje również rodzina funkcji do tworzenia dowolnie sformatowanych napisów czasowych, z uwzglednieniem lokalizacji (jezyka i konwencji lokalnych): Krótkie podsumowanie pytania sprawdzajace Odpowiedz na poniższe pytania: 1. Jaka jest podstawowa jednostka czasu zegara czasu rzeczywistego systemów UNIX-owych i POSIX-owych, i jaki czas absolutny mierzy ten zegar? 2. Na czym polega proces synchronizacji czasu przez system operacyjny? 3. Czym różni sie czas rzeczywisty od czasu wirtualnego? 4. Czym różnia sie zegary od timerów? size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr); int cftime(char *s, char *format, const time_t *clock); int ascftime(char *s, const char *format, const struct tm *timeptr); Reprezentacja czasu, zegary, timery interfejs tradycyjny 11 Reprezentacja czasu, zegary, timery interfejs tradycyjny 12
3 Timery programowe POSIX XSI Starsza, bardziej rozpowszechniona i szerzej implementowana specyfikacja standardu POSIX, zwana XSI (X/Open System Interface) wymaga, żeby każda implementacja dostarcza la co najmniej nastepuj acych timerów: ITIMER REAL odmierza w czasie rzeczywistym i w momencie przeterminowania generuje sygna l SIGALRM. ITIMER VIRTUAL odmierza w czasie wirtualnym (czasie CPU procesu) i w momencie przeterminowania generuje sygna l SIGVTALRM. ITIMER PROF odmierza w czasie wirtualnym (czasie CPU i czasie systemowym procesu) i w momencie przeterminowania generuje sygna l SIGPROF. Do zarzadzania timerami s luż a poniższe funkcje, gdzie parametr which określa konkretny timer, parametr value określa wartość ustawianego czasu, a parametr ovalue funkcja setitimer ustawia na pozosta la cześć poprzedniej wartości. #include <sys/time.h> int getitimer(int which, struct itimerval *value); int setitimer(int which, const struct itimerval *restrict value, struct itimerval *restrict ovalue); Wartości czasowe dla timerów POSIX XSI Do programowania timerów XSI wykorzystywana jest struktura struct itimerval zawierajaca co najmniej nastepuj ace elementy: struct timeval it_value; /* time until next expiration */ struct timeval it_interval; /* value to reload into the timer */ Oba powyższe elementy określane sa za pomoca struktury czasowej struct timeval zawierajacej co najmniej nastepuj ace elementy: time_t tv_sec; /* seconds since the Epoch */ time_t tv_usec; /* and microseconds */ Jeśli pole it_interval wartości *value jest różne od zera to timer jest restartowany natychmiast po przeterminowaniu. Jeśli pole it_value wartości *value wynosi 0 to funkcja setitimer zatrzymuje timer. Badanie timera XSI programem periodicasterisk.c Badanie czasu wykonywania funkcji programem xsitimer.c Badanie rozdzielczości funkcji nanosleep programem nanotest.c Reprezentacja czasu, zegary, timery timery programowe POSIX XSI 13 Reprezentacja czasu, zegary, timery timery programowe POSIX XSI 14 Timery programowe POSIX TMR Inna specyfikacja standardu POSIX, zwana TMR, wprowadza inny rodzaj timerów. Sa one tworzone w programie w powiazaniu z istniejacymi zegarami czasu rzeczywistego (jak CLOCK_REALTIME). Program może stworzyć wiele takich timerów, i należa one do danego procesu (nie sa dziedziczone przez podprocesy). Tworzenie timerów POSIX TMR przebiega wed lug nastepuj acego schematu: #include <signal.h> int timer_create(clockid_t clock_id, struct sigevent *restrict evp, timer_t *restrict timerid); Struktura struct sigevent określa dla danego timera jaki sygna l ma być wys lany w momencie przeterminowania (domyślnym jest sygna l SIGALRM co pozwala na ca lkowite pominiecie struktury struct sigevent w wywo laniu timer_create). Inna możliwościa powiadamiania procesu o przeterminowaniu timera jest uruchomienie watku. Możliwe jest również żadanie braku jakiegokolwiek powiadomienia. W takim przypadku timer w czasie pracy musi być każdorazowo odpytywany o pozosta ly czas. Opcje powiadamiania dla timerów POSIX TMR struct sigevent { int sigev_notify; /* notification type */ int sigev_signo; /* signal number */ union sigval sigev_value; /* signal value */... union sigval { int sival_int; /* integer value */ void *sival_ptr; /* pointer value */ Rodzaj powiadamiania zwiazany z timerem określa sie w strukturze sigevent tworzac dany timer. Wartość sigev_notify może przybierać nastepuj ace wartości: SIGEV NONE brak powiadomienia SIGEV SIGNAL zwyk le powiadamianie sygna lem SIGEV THREAD w momencie przeterminowania timera uruchom watek Reprezentacja czasu, zegary, timery timery programowe POSIX TMR 15 Reprezentacja czasu, zegary, timery timery programowe POSIX TMR 16 Funkcje timerów POSIX TMR Timery POSIX TMR programuje sie i uruchamia funkcja timer_settime, a pozosta ly czas odczytuje funkcja timer_gettime, analogicznie jak dla timerów XSI. Funkcja timer_settime posiada opcjonalne flagi, i m.in. może pracować z czasem bezwzglednym (flaga TIMER_ABSTIME, wymaga zaprogramowania pe lnego czasu zegarowego, zamiast interwa lu czasowego). Pozwala to kontrolować i korygować dryf timera w programach (patrz poniżej). int timer_getoverrun(timer_t timerid); int timer_gettime(timer_t timerid, struct itimerspec *value); int timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); int timer_delete(timer_t timerid); Funkcja timer_getoverrun zwraca liczbe przeterminowań danego timera, dla których nie zosta l doreczony sygna l wskutek wstrzymywania. Proces może czasowo wstrzymać otrzymywanie sygna lów, wtedy kolejne przeterminowania timera nie generuja dalszych sygna lów, natomiast proces może dowiedzieć sie o takiej sytuacji dzieki tej funkcji. Wartości czasowe dla timerów POSIX TMR Czasy do programowania timerów POSIX TMR określa sie za pomoca struktur struct itimerspec, które analogicznie do struktur struct itimerval timerów XSI, zawieraja co najmniej pola: struct timespec it_interval; /* timer period */ struct timespec it_value; /* timer expiration */ Wartości czasowe wykorzystywane przez timery POSIX TMR sa nieco inne niż dla timerów POSIX XSI. Struktura struct timespec zawiera co najmniej nastepuj ace elementy, pozwalajace wyznaczać czas jako kombinacje liczby sekund i nanosekund: time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ Badanie timera POSIX TMR programem periodicmessage.c Badanie czasu wykonywania funkcji programem tmrtimer.c Reprezentacja czasu, zegary, timery timery programowe POSIX TMR 17 Reprezentacja czasu, zegary, timery timery programowe POSIX TMR 18
4 Zegary programowe czasu rzeczywistego Standard POSIX specyfikacja TMR wprowadzi la mechanizm zegara pozwalajacego obliczać czas kalendarzowy z dok ladnościa wieksz a od jednej sekundy. Nastepuj ace funkcje wykonuja operacje na zegarach: int clock_getres(clockid_t clock_id, struct timespec *res); int clock_gettime(clockid_t clock_id, struct timespec *tp); int clock_settime(clockid_t clock_id, const struct timespec *tp); Parametr clock_id określa zegar, na którym ma być wykonana dana operacja, przy czym każdy system obowiazkowo musi implementować zegar czasu rzeczywistego CLOCK_REALTIME. Ćwiczenia z zegarami czasu rzeczywistego 4 Pomiar czasu wywo lania funkcji za pomoca zegara CLOCK_REALTIME za pomoca programu clockrealtimetiming.c Pomiar czasu wywo lania funkcji za pomoca zegara CLOCK_HIGHRES za pomoca programu clockrealtimetiming2.c Badanie rozdzielczości zegara CLOCK_REALTIME za pomoca programu clockrealtimetest.c Badanie rozdzielczości zegara CLOCK_HIGHRES za pomoca programu clockrealtimetest2.c Jak widać, wartości czasowe wykorzystywane przez te zegary sa takie same jak dla timerów POSIX TMR. 4 Przyk ladowe programy wymienione w tym PDF-ie pochodz a z ksiażki Kay A. Robbins, Steven Robbins Unix Systems Programming: Communication, Concurrency, and Threads, Prentice-Hall Reprezentacja czasu, zegary, timery zegary programowe POSIX TMR 19 Reprezentacja czasu, zegary, timery zegary programowe POSIX TMR 20 Zawieszenie wykonywania watku funkcja nanosleep Rozszerzenie realtime standardu POSIX wprowadzi lo kolejna funkcje zawieszania procesu (dok ladniej: watku) na określony czas, wyrażony za pomoca tej samej struktury timespec: int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); Podobnie jak inne funkcje zawieszajace procesy, funkcja wraca po up lynieciu zadanego czasu, lub nieco później, w przypadku: zaokraglenia wartości czasowej do rozdzielczości planowania procesów i obciażenia systemu W przypadku otrzymania (i obs lużenia) sygna lu funkcja natychmiast kończy prace, sygnalizujac powrót przed up lywem zadanego czasu. W takim przypadku, o ile drugi argument nie jest NULL, funkcja wpisuje do tej struktury wartość pozosta lego (nieprzespanego) czasu. Badanie rozdzielczości spania funkcji nanosleep. Zawieszenie wykonywania watku inne możliwości Czesto pojawia sie potrzeba czasowego wstrzymania wykonywania procesu lub watku. Poza wykonaniem tej operacji za pomoca funkcji sleep() i nanosleep() przedstawionych wyżej istnieje szereg innych możliwości, które sa czasami wygodne. Możliwe jest wykorzystanie timera do obudzenia sygna lem i zawieszenie procesu na czas nieokreślony (funkcje pause(), sigpause(), i inne). Do programowania doreczenia sygna lu jest dedykowany sygna l SIGALRM i funkcja alarm(), ale timery TMR dostarczaja wielu alternatywnych możliwości. Inna możliwościa jest polling, czyli odpytywanie jakiegoś timera lub zegara. Proces lub watek może w petli zawieszać sie na jakieś krótkie odcinki czasu, okresowo sprawdzajac up lyw czasu, przed wznowieniem normalnej pracy. Powoduje to co prawda pewne obciażenie procesora w tym okresie zawieszenia, ale pozwala watkowi kontrolować sytuacje i reagować na inne zdarzenia. Również możliwe jest wykorzystanie innych mechanizmów, niezwiazanych z odmierzaniem czasu, na przyk lad blokady pliku, semafora, muteksa, bariery, itp. Konkretne rozwiazanie może być w laściwe, jeżeli zawieszenie watku jest zwiazane z odpowiednimi operacjami, a niekoniecznie z określona d lugości a odcinka czasu. Reprezentacja czasu, zegary, timery zegary programowe POSIX TMR 21 Reprezentacja czasu, zegary, timery zegary programowe POSIX TMR 22 B ledy pomiaru czasu W konstrukcji timerów programowych kryja sie mechanizmy generujace b ledy pomiaru czasu. Najprostszym b ledem czasowym jest opóźnienie timera (timer latency), które może wynikać po prostu z niezerowego czasu wykonywania pewnych dodatkowych operacji. Na przyk lad, jeśli używamy timera cyklicznego z okresem 2 sekund, to po przeterminowaniu sie tego timera jest on restartowany, lecz ten restart może potrwać jakiś niewielki okres czasu, np. 5µsekund. W takim przypadku okres cyklu roboczego tego timera wyniesie nie 2 sekundy ale Różnica jest niewielka, ale powsta le opóźnienie bedzie sie kumulować. Narastajacy b lad wynikajacy z kumulowania sie b ledów pracy okresowej nazywa sie dryfem timera (timer drift). Latwo zauważyć, że jeśli timer nie bedzie restartowany samoistnie, tylko przez handler sygna lu, to pojedyncze opóźnienie takiego restartu może być wieksze. W tym wypadku na loży sie na nie jeszcze b lad wynikajacy z rozdzielczości timera. Na przyk lad, jeśli rozdzielczość timera wynosi 10 ms, a zaprogramowany okres by lby 22 ms (przypadek cokolwiek ekstremalny), to w rzeczywistości obudzenie handlera i restart timera nastapi a po czasie nie krótszym niż 30 ms. W przypadku pracy cyklicznej można te b ledy ograniczyć wykorzystujac czas bezwzgledny zamiast wzglednego. Handler obudzony w każdym cyklu oblicza okres czasu pozosta ly do nastepnego nominalnego czasu dzia lania, i programuje dok ladnie taki czas. W takim przypadku b ledy nie kumuluja sie, i nigdy nie powinny przekroczyć wartości rozdzielczości timera. Pracujace cyklicznie timery wykazuja jeszcze inny rodzaj b ledów określany ogólnie jako nierównomierności (jitter). Sa to niewielkie fluktuacje czasowe, które można podzielić ze wzgledu na ich przyczyne na deterministyczne i losowe. Deterministyczne wynikaja z charakterystyki stosowanych algorytmów, lub w lasności sprzetu obliczeniowego, natomiast losowe wynikaja z nak ladania sie szumów cieplnych i innych zjawisk. Jednak jest jeszcze jedno zjawisko anormalne możliwe w przypadku pracy cyklicznej timera. Może sie zdarzyć, że handler timera obudzi sie później niż sie spodziewa l, lub jego praca przed luży sie aż do wystapienia kolejnego przeterminowania (handler typowo wstrzymuje lub ignoruje sygna ly w czasie swojej pracy). Jeśli wtedy obliczy czas pozosta ly do tego kolejnego zdarzenia, to może on wyjść ujemny. Zjawisko takie nazywane jest przekroczeniem timera (timer overrun) i formalnie nie jest b ledem, ale może spowodować b lad programu, jeśli nie bedzie przewidziane. Reprezentacja czasu, zegary, timery b ledy pomiaru czasu 23 Reprezentacja czasu, zegary, timery b ledy pomiaru czasu 24
5 Badanie b ledów pomiaru czasu programem abstime.c./abstime -a Powyższe wywo lanie symuluje tysiac wykonań timera z okresem 22 milisekund, i czasem wykonania handlera sygna lu 5 milisekund, wykorzystujac zegar czasu absolutnego../abstime -r Powyższe wywo lanie powtarza poprzedni eksperyment, ale z wykorzystaniem zegara czasu wzglednego. Kumulacyjny b lad bedzie typowo dużo wiekszy../abstime -a 0 Powyższe wywo lanie pozwala oszacować rozdzielczość zegara sprzetowego przez generowanie sygna lu po natychmiastowym jednorazowym przeterminowaniu timera. Krótkie podsumowanie pytania sprawdzajace Odpowiedz na poniższe pytania: 1. Czym różnia sie wartości czasowe wykorzystywane przez timery specyfikacji XSI i TMR od interfejsu tradycyjnego? 2. Jakie sa operacje możliwe do wykonania na timerze programowym? Jak należy ustawić argumenty wywo lania aby wykonać te operacje? 3. W jaki sposób proces może zawiesić swoje wykonywanie na pewien czas? 4. Jakie sa możliwe b ledy zwiazane z pomiarem czasu?./abstime -a Powyższe wywo lanie pozwala oszacować maksymalna liczbe sygna lów timera jakie komputer jest w stanie obs lużyć na sekunde wykonujac tysiac przerwań z czasem opóźnienia zero. Reprezentacja czasu, zegary, timery b ledy pomiaru czasu 25 Reprezentacja czasu, zegary, timery b ledy pomiaru czasu 26 Przydatne linki High Resolution Times, Chapter 5 Chapter-5---High-Resolution-Timers-Final1/fullpage Reprezentacja czasu, zegary, timery linki 27
Timer sprz etowy. Sprz etowy zegar czasu rzeczywistego RTC. Synchronizacja zegara RTC. Timer sprz etowy (cd.)
Sprzetowy zegar czasu rzeczywistego RTC Zegar czasu rzeczywistego (real time clock RTC) jest urzadzeniem odmierzajacym up lywaj acy czas w skali bezwzglednej. Czas rzeczywisty nazywany jest również czasem
Sprz etowy zegar czasu rzeczywistego RTC. Synchronizacja zegara RTC
Sprzetowy zegar czasu rzeczywistego RTC Zegar czasu rzeczywistego (real time clock RTC) jest urzadzeniem odmierzajacym up lywaj acy czas w skali bezwzglednej. Czas rzeczywisty nazywany jest również czasem
Sprz etowy zegar czasu rzeczywistego RTC
Sprzetowy zegar czasu rzeczywistego RTC Zegar czasu rzeczywistego (real time clock RTC) jest urzadzeniem odmierzajacym up lywaj acy czas w skali bezwzglednej. Czas rzeczywisty nazywany jest również czasem
1. Timery i zdarzenia
Sygnały 1 1. Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu jest generowanie zdarzeń które w ustalonym czasie uruchomić mają określone akcje systemu.
1. Timery i zdarzenia
J. Ułasiewicz Komputerowe systemy sterowania 1 1. Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu czasu rzeczywistego jest generowanie zdarzeń które
Wybrane funkcje systemowe Unixa
Wybrane funkcje systemowe Unixa Witold Paluszyński witold.paluszynski@pwr.wroc.pl http://sequoia.ict.pwr.wroc.pl/ witold/ Copyright c 2000 2006 Witold Paluszyński All rights reserved. Niniejszy dokument
1 Timery i zdarzenia
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu czasu rzeczywistego jest generowanie zdarzeń które
Wieloprogramowy system komputerowy
Wieloprogramowy system komputerowy sprzet: procesor(y), pamieć(i), lacza i magistrale komunikacyjne, urzadzenia wejścia/wyjścia system operacyjny obs luguje i zarzadza sprzetem, umożliwia prace i korzystanie
Funkcje systemu Unix
Funkcje systemu Unix Witold Paluszyński witold@ict.pwr.wroc.pl http://sequoia.ict.pwr.wroc.pl/ witold/ Copyright c 2002 2005 Witold Paluszyński All rights reserved. Niniejszy dokument zawiera materia ly
CZAS 1. Układy pomiaru czasu w komputerze PC
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 CZAS 1. Układy pomiaru czasu w komputerze PC W typowym komputerze PC do pomiaru czasu przeznaczone są układy: 1. Podtrzymywany zegar czasu rzeczywistego
Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Wieloprogramowy system komputerowy
Wieloprogramowy system komputerowy sprzet: procesor(y), pamieć(i), lacza i magistrale komunikacyjne, urzadzenia wejścia/wyjścia system operacyjny obs luguje i zarzadza sprzetem, umożliwia prace i korzystanie
CZAS 1. Układy pomiaru czasu w komputerze PC
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 CZAS 1. Układy pomiaru czasu w komputerze PC W typowym komputerze PC do pomiaru czasu przeznaczone są układy: 1. Podtrzymywany zegar czasu rzeczywistego
1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4
Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
ISO/ANSI C - biblioteki ISO/ANSI C. ISO/ANSI C - biblioteki. ISO/ANSI C - biblioteki. ISO/ANSI C - biblioteki. ISO/ANSI C - biblioteki
Duży kod warto dzielić na fragmenty o wspólnej funkcjonalności (np. funkcje numeryczne, funkcje we/wy, funkcje dostępu do plików, itp.) Fragmenty należy umieszczać w oddzielnych plikach. Pliki dołączamy
z powielaniem wielu struktur danych oraz komunikacja
c Wies law P laczek 28 8 Watki 8.1 Wprowadzenie Wiele rozwiazywanych problemów można podzielić na zadania czastkowe, które daja sie wykonać niemal niezależnie. Każde z takich zadań można by powierzyć oddzielnemu
Watki. kod programu za ladowany do pami eci operacyjnej, wraz ze środowiskiem (zbiorem
Watki Procesy stanowia podstawowa jednostke, z której tradycyjnie sk lada sie wiekszość systemów operacyjnych. Procesy posiadaja dwie podstawowe cechy: kod programu za ladowany do pamieci operacyjnej,
Prezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
pami eć operacyjna przechowuje dane do przetworzenia, tymczasowe dane pomocnicze,
16 3 Procesy 3 Procesy Pojecie procesu jest kluczowe dla zrozumienia funkcjonowania wielozadaniowych systemów operacyjnych. Trudność w zrozumieniu tego pojecia i tym samym zg lebienie mechanizmu obs lugi
Układy czasowo-licznikowe w systemach 80x86
Układy czasowo-licznikowe w systemach 80x86 Semestr zimowy 2014/2015, WIEiK-PK 1 Układy czasowo-licznikowe w systemach 80x86 W komputerach osobistych oprogramowanie w szczególności, jądro systemu musi
INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie
INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Rozdzia l 3. Laboratorium 3. danych zawierajac
Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice
Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }
Liczby pseudolosowe Standardowa biblioteka języka C w pliku nagłówkowym posiada zadeklarowane dwie funkcje służące do generowania liczb pseudolosowych: rand i srand. Funkcja srand() jako parametr
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Statystyka w analizie i planowaniu eksperymentu
31 marca 2014 Przestrzeń statystyczna - podstawowe zadania statystyki Zdarzeniom losowym określonym na pewnej przestrzeni zdarzeń elementarnych Ω można zazwyczaj na wiele różnych sposobów przypisać jakieś
ISO/ANSI C zakończenie. ISO/ANSI C zakończenie. ISO/ANSI C zakończenie. ISO/ANSI C zakończenie. ISO/ANSI C zakończenie
ISO/ANSI C zakończenie Odczyt i zapis bieżącej daty i czasu odbywa się za pomocą funkcji zdefiniowanych w bibliotece Zdefiniowane są tam następujące typy i stałe: CLOCKS_PER_SEC liczba tyknięć
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Statystyka w analizie i planowaniu eksperymentu
29 marca 2011 Przestrzeń statystyczna - podstawowe zadania statystyki Zdarzeniom losowym określonym na pewnej przestrzeni zdarzeń elementarnych Ω można zazwyczaj na wiele różnych sposobów przypisać jakieś
Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010
Logika obliczeniowa Instytut Informatyki Poznań, rok akademicki 2009/2010 1 formu l rachunku zdań Wartościowanie i sta le logiczne Logiczna równoważność 2 Model formu ly Formu la spe lniona Formu la spe
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Systemy Operacyjne Ćwiczenia
Systemy Operacyjne Ćwiczenia Wies law P laczek Wydzia l Fizyki, Astronomii i Informatyki Stosowanej, Uniwersytet Jagielloński ul. Reymonta 4, 30-059 Kraków 4 lutego 2009 Streszczenie Praca ta zawiera materia
1. Kolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 1. Kolejki komunikatów POSIX 1.1 Podstawowe własności Kolejki FIFO maja następujące wady: Komunikaty pozbawione struktury Nie można testować stanu kolejki
Wyk lad 2 Podgrupa grupy
Wyk lad 2 Podgrupa grupy Definicja 2.1. Pod grupy (G,, e) nazywamy taki podzbiór H G, że e H, h 1 H dla każdego h H oraz h 1 h 2 H dla dowolnych h 1, h 2 H. Jeśli H jest grupy G, to bedziemy pisali H G.
Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017
Wykład 8 10 maj 2017 Współbieżność Watki w JAVA-ie Współbieżność może być realizowana na poziomie systemu operacyjnego (procesy) lub na poziomie aplikacji (watki). W JAVA-ie powszechnie stosuje się watki.
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
MATEMATYKA REPREZENTACJA LICZB W KOMPUTERZE
1 SZKO LA PODSTAWOWA HELIANTUS 02-892 WARSZAWA ul. BAŻANCIA 16 B l ad bezwzglȩdny zaokr aglenia liczby ɛ = fl() B l ad wzglȩdny zaokr aglenia liczby 0 δ = fl() B l ad procentowy zaokr aglenia liczby 0
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu
Kurs programowania. Wykład 8. Wojciech Macyna
Wykład 8 Program bez watków, jeden procesor, trzy zadania Program z watkami, jeden procesor, trzy zadania Procesory wielordzeniowe, każde zadanie na osobnym procesorze Trzy zadania uruchomione w watkach
Procesy wielowatkowe. Watki. Wspólne dane watków. Prywatne dane watków. Programowanie z użyciem watków
Watki Procesy stanowia podstawowa jednostke, z której tradycyjnie sk lada sie wiekszość systemów operacyjnych. Procesy posiadaja dwie podstawowe cechy: Procesy wielowatkowe Watki z natury rzeczy sa jednostkami
przerwany proces móg l zareagować na określone zdarzenie. Można je traktować jako software owe wersje przerwań sprz etowych.
c Wies law P laczek 9 3 Sygna ly 3.1 Opis sygna lów Najprostsz ametod akomunikacjimi edzyprocesowej w systenie UNIX s sygna ly. Umożliwiaj aoneasynchroniczne przerwanie dzia lania procesu przez inny proces
Indeks odwzorowania zmiennej zespolonej wzgl. krzywej zamknietej
Indeks odwzorowania zmiennej zespolonej wzgl edem krzywej zamkni etej 1. Liczby zespolone - konstrukcja Hamiltona 2. Homotopia odwzorowań na okr egu 3. Indeks odwzorowania ciag lego wzgledem krzywej zamknietej
Funkcje systemów operacyjnych czasu rzeczywistego
Funkcje systemów operacyjnych czasu rzeczywistego Witold Paluszyński Katedra Cybernetyki i Robotyki Wydzia l Elektroniki, Politechnika Wroc lawska http://www.kcir.pwr.edu.pl/~witold/ 2011 2015 Ten utwór
Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
4.2 Sposób korzystania z l acza
4.2 Sposób korzystania z l acza 31 Opis programu: Program procesu potomnego (linie 16 19) jest taki sam, jak w przyk ladzie na listingu 3. W procesie macierzystym nastepuje z kolei przekierowanie standardowego
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera
Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera Określenie podpierścienia Definicja 9.. Podpierścieniem pierścienia (P, +,, 0, ) nazywamy taki podzbiór A P, który jest pierścieniem ze wzgledu
Drzewa AVL definicje
Drzewa AVL definicje Uporzadkowane drzewo binarne jest drzewem AVL 1, jeśli dla każdego wez la różnica wysokości dwóch jego poddrzew wynosi co najwyżej 1. M D S C H F K Z typowe drzewo AVL minimalne drzewa
Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna
Organizacja systemu plików organizacja logiczna pliku: rekordy o sta lej lub zmiennej d lugości np. w systemie Unix typowo pliki zorganizowane sa jako sekwencje bajtów, zatem sa to rekordy o sta lej d
Systemy Operacyjne - Operacje na plikach
Systemy Operacyjne - Operacje na plikach Andrzej Stroiński Institute of Computer Science Poznań University of Technology 1 październik, 2012 Wprowadzenie do ANSI-C Pomoc systemowa man gcc man 2 write man
Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.
Plan wyk ladu Systemy liczbowe Poznań, rok akademicki 2008/2009 1 Plan wyk ladu 2 Systemy liczbowe Systemy liczbowe Systemy pozycyjno-wagowe y 3 Przeliczanie liczb Algorytm Hornera Rozwini ecie liczby
Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1
Uruchamianie SNNS Ca ly pakiet SNNS sk lada si e z programu interfejsu graficznego xgui, oraz z szeregu programów sk ladowych: analyze isnns netlearn snnsbat batchman linknets netperf td_bignet convert2snns
Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:
Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Licznik elektroniczny - układ cyfrowy, którego zadaniem jest zliczanie wystąpień sygnału zegarowego. Licznik złożony
Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ
Jeszcze o funkcjach i strukturze projektu Zak lad Chemii Teoretycznej UJ 3 grudnia 2008 1 2 3 4 5 typedef Plan typedef specyfikator typu nazwa S luży do stworzenia nowej nazwy dla jakiegoś typu. Nazwa
Futex (Fast Userspace Mutex) Łukasz Białek
Futex (Fast Userspace Mutex) Łukasz Białek Futex informacje podstawowe Stworzony w 2002 roku przez Hubertusa Franke, Matthew Kirkwooda, Ingo Molnára i Rustiego Russella. Jest mechanizmem w Linuxie, który
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Wyk lad 14 Cia la i ich w lasności
Wyk lad 4 Cia la i ich w lasności Charakterystyka cia la Określenie cia la i w lasności dzia lań w ciele y ly omówione na algerze liniowej. Stosujac terminologie z teorii pierścieni możemy powiedzieć,
Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
Funkcje systemów operacyjnych czasu rzeczywistego
Funkcje systemów operacyjnych czasu rzeczywistego Witold Paluszyński Katedra Cybernetyki i Robotyki Wydzia l Elektroniki, Politechnika Wroc lawska http://www.kcir.pwr.edu.pl/~witold/ 2011 2017 Ten utwór
Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Wyk lad 1 Podstawowe struktury algebraiczne
Wyk lad 1 Podstawowe struktury algebraiczne 1 Dzia lanie w zbiorze Majac dane dowolne dwa przedmioty a b możemy z nich utworzyć pare uporzadkowan a (a b) o poprzedniku a i nastepniku b. Warunek na równość
SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:
SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ Ewa Madalińska na podstawie prac: [1] Lukaszewicz,W. (1988) Considerations on Default Logic: An Alternative Approach. Computational Intelligence, 44[1],
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Format złożonego polecenia konfigurującego system pozycjonowania GPS SPY-DOG SAT ProSafe-Flota -KGPS A a B b C c D d E e F f G g H h I i J j K
RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
OBSŁUGA ZA POMOCĄ PROGRAMU MAMOS.EXE
OBSŁUGA ZA POMOCĄ PROGRAMU MAMOS.EXE SPIS TREŚCI 1. OBSŁUGA SENSORA IRMA ZA POMOCĄ PROGRAMU MAMOS.EXE...2 1.1. USTAWIENIE PARAMETRÓW POŁĄCZENIA Z SENSOREM...2 1.2. NAWIĄZYWANIE POŁĄCZENIA Z SENSOREM...2
Obliczenia rozproszone z wykorzystaniem MPI
Obliczenia rozproszone z wykorzystaniem Zarys wst u do podstaw :) Zak lad Metod Obliczeniowych Chemii UJ 8 sierpnia 2005 1 e konkretniej Jak szybko, i czemu tak wolno? 2 e szczegó lów 3 Dyspozytor Macierz
Embedded Systems Programming
Embedded Systems Programming Device drivers - interrupts and timers Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 7, 2019 Przerwania Przerwanie - sygnał powodujacy zmianę przepływu
Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"
Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026" Sp. z o.o. 41-250 Czeladź ul. Wojkowicka 21 Tel. 032 763-77-77 Fax: 032 763-75-94 v.1.2 www.mikster.pl mikster@mikster.pl (14.11.2007) SPIS
Dokumenty środków trwałych
JDExperts Sp. z o.o. Dokumenty środków trwałych Dokumentacja rozwiązania Spis treści 1 Założenia rozwiązania... 2 1.1 Elementy rozwiązania... 2 1.2 Opis rozwiązania... 2 1.3 Ograniczenia rozwiązania...
Zwielokrotnianie wejścia wyjścia
Zwielokrotnianie wejścia wyjścia Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 marca 2006 Wstęp Zwielokrotnianie wejścia wyjścia informowanie przez jądro procesu użytkownika
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Wieloprogramowy system komputerowy
Wieloprogramowy system komputerowy sprzet: procesor(y), pamieć, lacza i magistrale komunikacyjne, urzadzenia wejścia/wyjścia system operacyjny: obs luguje i zarzadza sprzetem, umożliwia prace i korzystanie
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU
Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Spis treści: 1. Instalacja oprogramowania XG5000 3 2. Tworzenie nowego projektu i ustawienia sterownika 7 3. Podłączenie sterownika
Drzewa podstawowe poj
Drzewa podstawowe poj ecia drzewo graf reprezentujacy regularna strukture wskaźnikowa, gdzie każdy element zawiera dwa lub wiecej wskaźników (ponumerowanych) do takich samych elementów; wez ly (albo wierzcho
Waga Libra wersja 4.1x Modbus TCP
Waga Libra wersja 4.1x Modbus TCP Listopad 2011 r. Systemy Sterowania i Ważenia Marek Chwierut, Zenon Garczarek sp.j. ul. Żółkiewskiego 3 63-400 Ostrów Wielkopolski tel/fax + 48 62 737 27 48, tel. +48
Systemy wbudowane Mikrokontrolery
Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym
Radio FM kuchenne SoundMaster UR 2006, LCD, pamięć 30 stacji
INSTRUKCJA OBSŁUGI Radio FM kuchenne SoundMaster UR 2006, LCD, pamięć 30 stacji Nr produktu 352350 Strona 1 z 8 Podstawowe funkcje - Zasilanie zasilacz AC/AC - Radio FM w technologii PLL - 12/24 godzinny
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Synchronizowanie czasu kontrolera PACSystems do urządzeń HMI
Synchronizowanie czasu kontrolera PACSystems do urządzeń HMI SYNCHRONIZOWANIE CZASU KONTROLERA DO OPROGRAMOWANIA INTOUCH, PANELU OPERATORSKIEGO QUICKPANEL+ LUB ASTRAADA HMI Informacje ogólne Kontrolery
Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007
Zak lad Metod Obliczeniowych Chemii UJ 14 marca 2007 Rzad 1 Zamiast wst epu 2 Rzad Notacja dużego O Notacja Ω Notacja Θ 3 S lowniczek Rzad Algorytm W matematyce oraz informatyce to skończony, uporzadkowany
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
POSIX: IEEE Std 1003.1 2001 (Issue 6, 2004 edition)
POSIX: IEEE Std 1003.1 2001 (Issue 6, 2004 edition) Podstawowe rekomendacje przejęte z UNIXa wielodostęp wielozadaniowość system plików terminal gniazda Rekomendacje dla obszaru czasu rzeczywistego strategie
Ekonomia matematyczna i dynamiczna optymalizacja
Ekonomia matematyczna i dynamiczna optymalizacja Ramy wyk ladu i podstawowe narz edzia matematyczne SGH Semestr letni 2012-13 Uk lady dynamiczne Rozwiazanie modelu dynamicznego bardzo czesto można zapisać
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Architektura systemów komputerowych
Architektura systemów komputerowych Grzegorz Mazur Zak lad Metod Obliczeniowych Chemii Uniwersytet Jagielloński 12 kwietnia 2011 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia
PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH
PODSTAWOWE W LASNOŚCI DZIA LAŃ I NIERÓWNOŚCI W ZBIORZE LICZB RZECZYWISTYCH W dalszym cia gu be dziemy zajmować sie g lównie w lasnościami liczb rzeczywistych, funkcjami określonymi na zbiorach z lożonych
1 Obsługiwane funkcje wyzwalaczy
2016/10/11 12:29 1/10 1 Obsługiwane funkcje wyzwalaczy 1 Obsługiwane funkcje wyzwalaczy Wszystkie funkcje obsługiwane w: wyrażeniach wyzwalaczy są wyszczególnione poniżej: wartości: float, int, str, text,
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
UKŁADY SEKWENCYJNO CZASOWE I SPECJALNE
PRz AiRA UKŁADY SEKWENCYJNO CZASOWE I SPECJALNE Zbiornik z dwoma zaworami. Reaktor chemiczny. Powtarzanie impulsu o mierzonym czasie trwania. Generacja chwilowego impulsu po zadanym czasie. Zespół trzech
Ghost in the machine
Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace
Statystyka w analizie i planowaniu eksperymentu
10 marca 2014 Zmienna losowa - wst ep Przeprowadzane w praktyce badania i eksperymenty maja bardzo różnorodny charakter, niemniej jednak wiaż a sie one z rejestracja jakiś sygna lów (danych). Moga to być
SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)
Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany