Systemy Czasu Rzeczywistego (SCR)

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy Czasu Rzeczywistego (SCR)"

Transkrypt

1 Systemy Czasu Rzeczywistego (SCR) Elementy systemów operacyjnych czasu rzeczywistego Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok II, semestr IV Opracowanie: dr inż. Tomasz Rutkowski Katedra Inżynierii Systemów Sterowania 1

2 Jądro systemu Szeregowanie zadań Scheduler Integralną i najważniejszą częścią jądra systemu SOCR jest program szeregujący scheduler Program szeregujący jest to zestaw algorytmów określających jakie zadanie będzie wykonywane jako następne oraz kiedy to nastąpi Większość systemów SOCR oparta jest na priorytetach każde zadanie ma przyporządkowany priorytet zależny od ważności zadania, w związku z tym czas CPU zostaje przydzielony do zadania, które jest gotowe i ma najwyższy priorytet 2

3 Jądro systemu Szeregowanie zadań model periodyczny (okresowy) Model zadań periodycznych (okresowych) zakłada deterministyczne obciążenie systemu i opisuje właściwości oraz zachowanie wielu klasycznych systemów hard real- time time (np. zadania sterowania cyfrowego). Zadania periodyczne mogą się pojawiać równocześnie (w tym samym czasie), przy czym nie może to zaburzyć normalnej pracy systemu. 3

4 Jądro systemu Szeregowanie zadań model periodyczny (okresowy) Każde zadanie opisują następujące parametry: o okres p : czas pomiędzy kolejnymi zdarzeniami wymagającymi obsługi o termin d : czas w którym zdarzenie musi być obsłużone, od momentu jego zajścia o czas t : czas potrzebny na obsługę zdarzenia (realizacja zadania) zadanie zadanie zadanie zdarzenie okres 1 okres 2 okres 3 zdarzenie zdarzenie 4

5 Jądro systemu Szeregowanie zadań model okresowy Pomiędzy parametrami p, d, t zachodzi relacja 0 t d p Stopień wykorzystania procesora jest równy u = t/p Warunkiem koniecznym wykonywalności szeregowania jest by suma stopni wykorzystania procesora była mniejsza równa jeden, Σu 1 Zadanie przekazuje swoje parametry t, d, p planiście (programowi szeregującemu), który podejmuje się wykonania zadania gwarantując dotrzymania terminu albo odrzuca zadanie 5

6 Jądro systemu Szeregowanie zadań Scheduler Przykłady algorytmów szeregujących zadania: o szeregowanie uwzględniające częstość wykonywania danego zadania - algorytm RMS (ang. Rate Monotonic Scheduling) o szeregowanie karuzelowe (ang. Round Robin Scheduling) o szeregowanie FIFO (ang. First In First Out Scheduling) o szeregowanie sporadyczne (ang. Sporadic Scheduling) o szeregowanie zegarowe (ang. Clock-Driven) 6

7 Jądro systemu Szeregowanie zadań algorytm RMS Założenia algorytmu RMS: 1. Wszystkie zadania są okresowe periodyczne (pojawiają się w regularnych odcinkach czasu) 2. Zadania nie synchronizują się miedzy sobą w trakcie współdzielenia zasobów i komunikacji 3. Procesor zawsze wykonuje zadanie o najwyższym priorytecie, które jest gotowe do pracy (powinien być wykorzystany system z wywłaszczaniem) 4. Procesy są planowane na podstawie statycznego priorytetu równego im krótszy okres zadania, tym wyższy jego priorytet 7

8 Jądro systemu Szeregowanie zadań algorytm RMS Przykład dwóch zadań o następujących parametrach: zadanie pierwsze Z1 : p = 50; d = 50; t = 20; zadanie drugie Z2 : p = 100; d = 100; t = 35; E1, E2 E1 E1, E2 E1 E1 zdarzenie wyzwalające zadanie Z1 E2 zdarzenie wyzwalające zadanie Z2 Z1 Z2 Z1 Z1 Z2 Z czas Całkowite obciążenie procesora: u = (20/50) + (35/100) =

9 Jądro systemu Szeregowanie zadań algorytm RMS Zakładamy chwilowo, że zadanie drugie ma większy priorytet od zadania pierwszego E1, E2 E1 E1, E2 Z2 Z czas Przekroczenie terminu!!! 9

10 Jądro systemu Szeregowanie zadań algorytm RMS Przykład dwóch zadań o następujących parametrach: zadanie pierwsze Z1: p = 50; d = 50; t = 25; zadanie drugie Z2: p = 80; d = 80; t = 35; E1, E2 E1 Przekroczenie terminu!!! Z1 Z2 Z czas Całkowite obciążenie procesora: u = (25/50) + (35/80) = 0.94!!! 10

11 Jądro systemu Szeregowanie zadań algorytm RMS Podstawowe twierdzenie RMS: wszystkie solidne limity czasowe systemu SOCR będą zawsze spełnione jeżeli: i ti p i n 2 1 n 1 gdzie: n dany zestaw zadań z przypisanymi priorytetami RMS, t i maksymalny czas wykonania zadania i, p i okres wykonania zadania i, t i / p i część czasu procesora wymagana do wykonania zadania i. Zgodnie ze statycznym doborem priorytetów algorytmem RMS, im krótszy okres zadania, tym wyższy jego priorytet. 11

12 Jądro systemu Szeregowanie zadań algorytm RMS Liczba Zadań 1 n n Aby spełnić wszystkie limity czasowe systemu o solidnych wymaganiach czasowych w oparciu o algorytm RMS, wykorzystanie CPU przez wszystkie zadania krytyczne czasowo powinno być mniejsze niż 70 procent!!! Nadal można mieć zadania niekrytyczne czasowo, a więc wykorzystać 100 procent czasu CPU 12

13 Jądro systemu Szeregowanie zadań algorytm karuzelowy Algorytm karuzelowy: 1. Umożliwia współdzielenie czasu procesora przez zadania o takim samym priorytecie tzw. rotacja zadań 2. Określa się przedział czasu (ang. time slice) gdy zadanie się wykonuje, a następnie oddaje procesora zadaniu o takim samym priorytecie, które wykonuje się przez taki sam przedział czasu i oddaje procesor kolejnemu zadaniu o takim samym priorytecie 3. W przypadku wywłaszczenia zadania, w trakcie jego przedziału czasu, przez zadanie o wyższym priorytecie, po wykonaniu zadania o wyższym priorytecie zadanie to wykorzystuje pozostały należny mu czas procesora Algorytm przeznaczony do szeregowania zadań w środowisku zdominowanym przez zadania wykonywane współbieżnie 13

14 Jądro systemu Szeregowanie zadań algorytm FIFO Algorytm FIFO: 1. Jest podobny do algorytmu karuzelowego z tą różnicą, że zadanie nie jest wywłaszczane po wyczerpaniu pewnego przedziału czasu 2. Zadanie wykonywane jest aż do czasu gdy: samoistnie zwolni procesor zostanie wywłaszczone przez zadanie o wyższym priorytecie 14

15 Jądro systemu Szeregowanie zadań algorytm sporadyczny Algorytm sporadyczny: 1. Jest podobny do algorytmu karuzelowego z tą różnicą, że po wyczerpaniu przedzielonego zadaniu przedziału czasu zadanie jest wywłaszczane i jego priorytet jest obniżony o 1 2. Jeżeli zadanie nie podejmie pracy w kolejnym, określonym przedziale czasu jego priorytet jest podwyższony o 1 3. Priorytet zadania nie może być podwyższony powyżej oryginalnego priorytetu zadania 4. Zadanie zawieszone uzyskuje swój dawny priorytet Algorytm przeznaczony do szeregowania zadań sporadycznych pojawiających się w środowisku zdominowanym przez zadania cykliczne 15

16 Jądro systemu Szeregowanie zadań algorytm zegarowy Algorytm zegarowy: 1. Decyzje, które zadania maja się wykonywać, podejmowane są z góry w ustalonych momentach czasu 2. Typowo wszystkie parametry zadań typu hard real-time są ustalone i znane 3. Najczęściej decyzje szeregowania podejmowane są periodycznie i sterowane hardware-owym zegarem zewnętrznym Algorytm przeznaczony do szeregowania zadań w środowisku zdominowanym przez zadania synchroniczne (cykliczne) zawierającym kilka aperiodycznych i sporadycznych zadań 16

17 Problemy związane z szeregowaniem zadań W systemach wielozadaniowych, prawie zawsze istnieje pewien podzbiór procesów uruchomionych w danej chwili, które oddziaływają na siebie. Źle zorganizowany współbieżny dostęp do tych samych zasobów, prowadzi do powstawania niespójności danych, w efekcie którego efektywność systemu może być dalece niezadowalająca. zjawisko zakleszczenia (ang. impas lub deadlock) zjawisko inwersji priorytetów (ang. priority inversion) 17

18 Zakleszczenie procesów Zbiór zadań znajduje się w stanie blokady (zakleszczenia), jeśli każde z nich jest wstrzymane w oczekiwaniu na zdarzenie, które może być wywołane przez jakieś inne zadanie z tego zbioru. Zadania są wstrzymane w oczekiwanie na dostęp do odpowiednich zasobów, które są wykorzystywane przez inne zadania. Z1 Zadanie żąda dostępu do R2 Z2 Zadanie żąda dostępu do Zasób należy do R3 R1 Zadanie żąda dostępu do Z3 Zasób należy do Zadania: Z1, Z2, Z3 Zasoby: R1, 18R2, R3

19 Zakleszczenie procesów (cd.) Algorytmy wykrywające zakleszczenie oparte są głównie o teorię grafów. W trakcie projektowania aplikacji należy zadbać o to by zadania sprawdzały czy to czego oczekują jest w danej chwili dostępne, a kiedy już nie korzystają z jakiś zasobów to powinny je zwolnić. Można również zasoby zorganizować w hierarchiczną strukturę i zaimplementować prosty model ich przydziału (protokół), np.: zadanie które uzyska dostęp do jakiegoś zasobu, w kolejnych krokach albo musi ten zasób zwolnić lub starać się tylko i wyłącznie o zasoby znajdujące się wyżej w hierarchii 19

20 Inwersja priorytetów Inwersja priorytetów występuje w przypadkach gdy zadania o różnych priorytetach wykorzystują te same zasoby (zasoby współdzielone). Ogólnie zjawisko inwersji priorytetów polega na tym, że zadanie o niskim priorytecie, zajmując zasób dzielony, zmusza zadanie o wyższym priorytecie do przejścia w stan wstrzymane i oczekiwania na zwolnienie tego zasobu. 20

21 Inwersja priorytetów (cd.) priorytet E2 INWERSJA PRIORYTETÓW E1 zdarzenie wyzwalające zadanie Z1 E2 zdarzenie wyzwalające zadanie Z2 wysoki średni Z2 Z2 Z2 wywłaszcza Z1 Z1 zajmuje zasób R1 Z2 blokuje się, bo zasób R1 zajęty przez Z1 Z1 zwalnia zasób R1, zatem Z2 wchodzi w stan gotowe i wywłaszcza Z1 Z2 zwalnia zasób R1 E1 niski Z1 Z1 t1 t2 t3 t4 t5 t6 t7 t8 czas Dwa zadania, zadanie o priorytecie niskim (Z1) i zadanie o priorytecie wysokim (Z2) korzystające z tego samego zasobu (R1) 21

22 Inwersja priorytetów (cd.) priorytet E2 INWERSJA PRIORYTETÓW E1 zdarzenie wyzwalające zadanie Z1 E2 zdarzenie wyzwalające zadanie Z2 E3 zdarzenie wyzwalające zadanie Z3 wysoki średni E3 Z2 Z2 Z2 wywłaszcza Z1 Z1 zajmuje zasób R1 Z2 blokuje się, bo zasób R1 zajęty przez Z1 Z3 się kończy i zwalnia zasób R1 Z1 się kończy i zwalnia zasób R1 Z2 się kończy i zwalnia zasób R1 nieznany czas!!! Z3 wywłaszcza Z1 E1 niski Z1 Z1 Z3 Z1 czas t1 t2 t3 t4 t5 t6 t7 t8 Trzy zadania, zadanie o priorytecie niskim (Z1), zadanie o priorytecie wysokim (Z2) oraz zadanie o priorytecie średnim (Z3) korzystające z tego samego zasobu (R1) 22

23 Inwersja priorytetów (cd.) Inwersja priorytetów prowadzi do wielu niebezpieczeństw, które w najgorszym wypadku mogą prowadzić do powstania w systemie sporych anomalii czasowych. Całkowite wyeliminowanie zjawiska inwersji priorytetów jest praktycznie niemożliwe. Metody eliminacji tego zjawiska wykorzystują różne modele sterowania dostępem do zasobów (protokoły), np.: - protokół wykorzystujący dziedziczenie priorytetów (może powodować zakleszczenia), - protokół pułapów priorytetu (całkowita eliminacja wystąpienia blokad), - różne modyfikacje powyższych. 23

24 Inwersja priorytetów rozwiązanie przez dziedziczenie priorytetów priorytet E2 INWERSJA PRIORYTETÓW E1 zdarzenie wyzwalające zadanie Z1 E2 zdarzenie wyzwalające zadanie Z2 E3 zdarzenie wyzwalające zadanie Z3 wysoki średni Z2 Z1 Z2 Z1 zajmuje zasób R1 Z2 wywłaszcza Z1 Z2 blokuje się, bo zasób R1 zajęty przez Z1, podniesienie priorytetu Z1 Z1 kończy się i zwalnia zasób R1, powrót do pierwotnego priorytetu Z1 Z2 kończy się i zwalnia zasób R1 Z3 kończy się i zwalnia zasób R1 E1 niski Z1 E3 Z1 Z3 E1 Z1 Zasada jego działania polega na tymczasowym podnoszeniu priorytetu zadania, które zajmuje zasób dzielony, do najwyższego poziomu priorytetów zadań, które zgłaszają żądanie dostępu do tego zasobu. 24 t1 t2 t3 t4 t5 t6 t7 t8 czas

25 Inwersja priorytetów rozwiązanie przez pułap priorytetów priorytet Każdy zasób ma przypisany tzw. pułap priorytetów. Jego wartość jest określana przez najwyższy priorytet spośród zadań, które mogą o niego konkurować. Gdy zadanie zarygluje dostęp do takiego zasobu, jego priorytet jest zwiększany do wartości pułapu tego zasobu. Po zwolnieniu zasobu, zadanie ma przywracany priorytet do wartości początkowej. wysoki średni Z1 zajmuje zasób niski Z1 Z1 t1 t2 t3 t4 Z1 Z1 zwalnia zasób czas 25

26 Jądro systemu komunikacja pomiędzy zadaniami - model przesyłania komunikatów komunikat Klient Serwer odpowiedź Fazy przesłania komunikatu: 1. Wysłanie komunikatu od procesu klienta do procesu serwera. Proces klienta zostaje zablokowany a komunikat odblokowuje proces serwera (o ile był zablokowany ) 2. Serwer przetwarza komunikat i przesyła odpowiedź do klienta. 3. Proces klienta po otrzymaniu odpowiedzi ulega odblokowaniu. Większość SOCR oparta jest o modelu przesyłaniu komunikatów typu klient-serwer 26

27 Jądro systemu komunikacja pomiędzy zadaniami - Semafory (binarny, ogólny) To jedne z obiektów umożliwiających wzajemne wykluczanie oraz synchronizację zadań. Semafor, jest obiektem jądra, który może zostać zajęty przez jeden lub kilka wątków w celu sterowania dostępem do np. jakiegoś wspólnego zasobu. Operacje na semaforach, umożliwiające wstrzymanie i wznowienie procesów: - czekaj: to operacja opuszczająca semafor, zmniejsza jego wartość o jeden (semafor może mieć wartości nieujemne), - sygnalizuj: jest operacją zwiększającą wartość semafora o jeden, logicznie odpowiada operacji podniesienia semafora Semafory są globalne : dowolny proces może je opuszczać albo podnosić 27

28 Jądro systemu komunikacja pomiędzy zadaniami - muteksy Muteksy (ang. mutual exclusion semaphores), stanowią szczególny rodzaj semaforów binarnych. Muteks może być zablokowany (ma wartość 1) lub odblokowany (ma wartość 0). Jedną z cech muteksów jest zasada posiadania. Zasada posiadania polega na tym, że jeśli jakieś zadanie zablokuje muteks (nada mu wartość 1), to tylko ono może ten muteks odblokować (nadać mu wartość 0). Zapobiega to sytuacji, w której jedno z zadań wykona operację czekaj aby synchronizować dostęp do jakiegoś zasobu, a później inne zadanie niezwiązane logicznie z tym zasobem, podniesie semafor (potencjalny problem niespójności danych przy wykorzystywaniu jedynie semaforów) 28

29 Jądro systemu komunikacja pomiędzy zadaniami - zmienne warunkowe Zmienne warunkowe również służą do synchronizacji zadań. Zmienne warunkowe pozwalają wielokrotnie wstrzymywać wykonanie jakiegoś zadania, aż żądany warunek zostanie spełniony. 29

30 Jądro systemu komunikacja pomiędzy zadaniami kolejki komunikatów Kolejki komunikatów, to inteligentne bufory, które zazwyczaj działają w oparciu o algorytm pierwszy przyszedł, pierwszy został obsłużony (FIFO). - kolejki jednokierunkowe - kolejki dwukierunkowe 30

31 Jądro systemu komunikacja pomiędzy zadaniami - potoki Potoki (ang. pipes), służą do przechowywania danych jako strumień pozbawiony jakiejkolwiek struktury. Potoki są odczytywane według algorytmu pierwszy przyszedł, pierwszy zostanie obsłużony (FIFO). Dzięki wskaźnikom (deskryptorom) początku i końca potoku możliwe są operacje zapisu i odczytu. 31

32 Jądro systemu komunikacja pomiędzy zadaniami - rejestry zdarzeń Bardzo często występuje konieczność, aby zadanie miało możliwość śledzenia wystąpienia jakiś konkretnych zdarzeń oraz podjęcia odpowiednich kroków w celu wypracowania jakiejś odpowiedzi na nie. Obiektami umożliwiającymi takie zachowanie są właśnie rejestry zdarzeń - obiekty, które składają się z szeregu bitów, interpretowanych jako flagi. 32

33 Jądro systemu komunikacja pomiędzy zadaniami sygnały Sygnał, to przerwanie programowe, generowane w odpowiedzi na zaistnienie jakiegoś zdarzenia. Przerywa normalny tok wykonywania u jego odbiorcy oraz wymusza wykonanie jakiegoś określonego zadania. 33

34 Wyjątki Wyjątek (ang. exception) jest to dowolne zdarzenie, które przerywa normalny tok obliczeń procesora i wymusza wykonanie określonego zbioru instrukcji w trybie uprzywilejowanym. Najogólniej można je podzielić na dwie grupy: synchroniczne i asynchroniczne. Synchroniczne są generowane przez tzw. zdarzenia wewnętrzne jak np. efekt wykonania jakiejś instrukcji procesora. Przykładami mogą być dzielenie przez zero lub niepoprawny odczyt z pamięci. Asynchroniczne (przerwania) są generowane przez tzw. zdarzenia zewnętrzne. 34

35 Przerwania Przerwanie (ang. interrupt, external interrupt) to tzw. wyjątki asynchroniczne i nie są powiązane z instrukcjami wykonywanymi przez procesor. Ich źródłem są wszelkie zdarzenia zewnętrzne, czyli odnoszą się do różnych sygnałów generowanych przez sprzęt. Przykładami mogą być wciśnięcie przycisku reset na płycie głównej lub sygnał urządzenia komunikacyjnego, które właśnie otrzymało pakiet z danymi. Można je podzielić na maskowalne, czyli takie, które można wyłączyć programowo oraz niemaskowalne, których nie da się zablokować. Przerwania niemaskowalne, są zazwyczaj połączone z procesorem przy pomocy specjalnego kanału komunikacyjnego i są obsługiwane natychmiast po ich wystąpieniu. 35

36 Czas Aby poprawnie mogły działać proces szeregujący zadania oraz same zadania czasu rzeczywistego, bardzo ważne jest precyzyjne odmierzanie czasu. Większość systemów wbudowanych dostarcza dwa rodzaje mechanizmów odmierzających czas (ang. timer): - timery oparte o rozwiązania sprzętowe (programowalne kontrolery czasu), - typowe rozwiązania programowe. 36

37 Krótka charakterystyka wybranych Systemów Operacyjnych Czasu Rzeczywistego 37

38 Popularne systemy SOCR QNX Neutrino QNX, to zdaniem wielu (np. AMD, IBM, Cisco Systems) najlepszy i jednocześnie najbardziej zaawansowany oraz przyszłościowy, rygorystyczny (realizujący solidne wymagania czasowe) system operacyjny czasu rzeczywistego. Jest pierwszym w historii systemem wielozadaniowym i wielodostępnym przeznaczonym dla mikrokomputerów IBM PC. Wykorzystuje architekturę mikrojądra, które od wersji 6.0 systemu zajmuje 8kB (jądro systemu UNIX to co najmniej 700kB). QNX ma strukturę modułową oraz architekturę opartą o przesyłanie komunikatów (model klient serwer). Wysoko posunięta modularność i skalowalność systemu. Komunikacja pomiędzy procesami znajdującymi się na odległych węzłach sieci jest tak samo prosta, jak w obrębie jednego komputera. 38

39 Popularne systemy RTOS QNX Neutrino (cd.) QNX daje możliwość zdeterminowania czasu reakcji na zdarzenia występujące w systemie. QNX dzięki rozbudowanym możliwościom definiowania priorytetów, jest stosowany jako system służący do sterowania automatyką przemysłową, gdzie pewne zdarzenia są krytyczne (np. otwarcie zaworu bezpieczeństwa w zbiorniku kiedy gwałtownie wzrasta ciśnienie) i muszą być zawsze obsłużone na czas. Na bazie QNX opracowywane są również systemy SCADA. QNX jest również wykorzystywany jako platforma dla baz danych. 39

40 Popularne systemy RTOS VxWorks - Jeden z najbardziej profesjonalnych systemów czasu rzeczywistego firmy Wind River Systems. Należy do grupy nowoczesnych systemów operacyjnych opartych na koncepcji wielozadaniowości, komunikacji między zadaniami, mikrojądrze oraz procedurach obsługi przerwań. Posiada zaimplementowane funkcje komunikacji sieciowej. Możliwość rozwoju systemu docelowego zgodnie ze standardem ANSI C i C++ oraz POSIX. Bogaty zestaw dodatkowych pakietów oprogramowania: wykorzystanie wieloprocesorowości, biblioteki graficzne, narzędzia do testowania i uruchamiania aplikacji, wirtualne maszyny Javy, symulator środowiska docelowego 40

41 Popularne systemy SOCR RTLinux Występuje w dwóch wersjach, komercyjnej RT Linux PRO i w ogólnodostępnej GPL RTLinux (darmowy i udostępniany wraz z całym kodem źródłowym). Jego cechą charakterystyczną jest to, że współistnieją w nim: jądro czasu rzeczywistego RTCore i jądro Linuksa. RTLinux szybko potrafi obsługiwać przerwania w warunkach dużego obciążenia obliczeniami, przy jednoczesnych znikomych operacjach dyskowych. Architektura RTLinux wymusza jednak pewien styl programowania (podział na dwie części: obliczeniową i operacje dyskowe, sieciowe). Typowa aplikacja składa się z zadań czasu rzeczywistego, które współpracują bezpośrednio ze sprzętem, a zadania Linuxa wykonują obliczenia nie wymagające reżimu czaus rzeczywistego. 41

42 Popularne systemy SOCR OS-9 To wielozadaniowy system operacyjny opracowany przez firmę Microware dla wbudowanych systemów sterujących opartych o procesory rodziny Motorola. System OS-9 ma strukturę warstwową, złożoną z jądra, niezależnej od sprzętu warstwy podprogramów zarządzającej zbiorami (plikami) oraz warstwy podprogramów sterujących pracą urządzeń zewnętrznych. Jedynym obowiązkowym elementem systemu jest jądro. Podstawowymi językami programowania aplikacji są C i asembler, dodatkowo są dostępne kompilatory Basic i Pascal. OS-9 nie można zakalikować do systemu rozproszonego ponieważ mechanizmy komunikacji i synchronizacji zadań są ograniczone do pojedynczego komputera. 42

43 Popularne systemy SOCR Windows CE Systemem czasu rzeczywistego Microsoftu o słabych wymaganiach czasowych. Posiada architekturę modułową. Zoptymalizowany dla urządzeń o niewielkiej ilości pamięci jądro systemu wymaga do uruchomienia około 1MB RAM. Microsoft opracował dedykowaną wersję systemu do układów elektronicznych urządzeń instalowanych w samochodach (np. zarządza sprzętem audio auta) Szerokie pole do popisu wszędzie tam, gdzie konieczne jest wykorzystanie wszelkich najnowszych technologii, a zwłaszcza tych związanych z multimediami. Można tworzyć bardzo wydajne konsole służące do gier oraz instalować w nich różne pakiety biurowe. 43

44 Popularne systemy SOCR Windows XP Embendded Windows XP Embedded, nie jest zasadniczo przeznaczony do przetwarzania w czasie rzeczywistym. Jego budowa jest jednak tak zorganizowana, że łatwo można go wzbogacić o takie możliwości. Służą do tego specjalne komponenty oraz rozwiązania firm trzecich. Windows XP Embedded składa się dokładnie z tych samych plików binarnych, co jego brat, przeznaczony na komputery typu desktop, tyle że niektóre zostały nieznacznie zmodyfikowane lub uproszczone. Posiada architekturę modułową. Znajduje zastosowanie u producentów bankomatów, terminale graficzne, urządzeń przenośnych, konsoli do gier oraz tych którzy wykorzystują najnowsze technologie multimedialne. 44

45 Popularne systemy SOCR µc/os-ii ecos : przenośny skalowalny, z wywłaszczeniem, wielozadaniowe jądro ładowane z ROM, platforma docelowa to m.in. MS-Win, DOS, x86, 68HC11, ARM : wysoce konfigurowalny, 32 lub 64 bitowy, oparty na koncepcji kodu źródłowego (nie jest to kolejny Linux), wysoce zoptymalizowany, zawiera bogatą bibliotekę matematyczną, komunikacyjną i system plików, platforma docelowa to m. in.: Windows, Sun, Linux, x86, ARM7 Przykłady darmowych SOCR dla rodziny AVR: AvrX, EtherNut - Nut/OS, FreeRTOS, TinyOS, XMK - extreme Minimal Kernel 45

46 Systemy SOCR - obecnie Obecnie dostępnych jest ponad kilkadziesiąt systemów SOCR lub mających znamiona systemów operacyjnych czasu rzeczywistego. Część z nich to kompletne systemy operacyjne, w skład których wchodzą jądro, sterowniki I/O, systemy plików, usługi sieciowe... Niektóre dostępne są na licencji GPL a niektóre odpłatnie. Ceny wahają się od kilkuset do kilkuset tysięcy zł, przy czym cena zależy od dodatkowych modułów. 46

47 Systemy SOCR małe zestawienie QNX Neutrino 6.2 WinCE.NET VXWorks AE 1.1 RedHat Linux 1.1 Wydajność Instalacja i konfiguracja Architektura (RTOS) Ilość API Obsługa internetu Narzędzia Dokumentacja i wsparcie tech Średni wynik Źródło: Dedicated Systems Experts, sierpień

48 Bibliografia: [1] P.Szymczyk (2003). Systemy Operacyjne Czasu Rzeczywistego. Uczelniane Wydawnictwa Naukowo-Dydaktyczne, Kraków. [2] J.Ułasiewicz (2007). System czasu Rzeczywistego QNX6 Neutrino. Wydawnictwo BTC, Legionowo. [3] K.Lal, T.Rak, K.Orkisz (2003). RTLinux system czasu rzeczywistego. Helion, Gliwice. 48

49 Dziękuję za uwagę!!! 49

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Wykład 13: Elementy systemów operacyjnych czasu rzeczywistego (2/2) SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

Bardziej szczegółowo

Prezentacja systemu RTLinux

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

Bardziej szczegółowo

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego Systemy wbudowane Systemy operacyjne czasu rzeczywistego Definicje System czasu rzeczywistego to taki, w którym wynik przetwarzania nie zależy tylko i wyłącznie od jego logicznej poprawności, ale również

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) System operacyjny czasu rzeczywistego w praktyce: - przykładowa platforma sprzętowo-programowa ZL9AVR+ Nut/OS Politechnika Gdańska Wydział Elektrotechniki i Automatyki

Bardziej szczegółowo

Podstawowe zagadnienia

Podstawowe zagadnienia SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański Architektury systemów czasu rzeczywistego RTOS Wykonał: Bartłomiej Bugański System operacyjny czasu rzeczywistego ( ang. Real-Time Operating System - RTOS) to komputerowy system operacyjny, który został

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania w ramach kierunku Mechatronika Rodzaj zajęć: Wykład, laboratorium Systemy Operacyjne Czasu Rzeczywistego

Bardziej szczegółowo

Metody obsługi zdarzeń

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

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

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ń

Bardziej szczegółowo

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

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ęć

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

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

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy wbudowane - wykład 9 Przemek Błaśkiewicz 26 maja 2017 1 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; 2 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Wykład 12: Elementy systemów operacyjnych czasu rzeczywistego (1/2) SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

Bardziej szczegółowo

SYLABUS/KARTA PRZEDMIOTU

SYLABUS/KARTA PRZEDMIOTU PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W GŁOGOWIE SYLABUS/KARTA PRZEDMIOTU. NAZWA PRZEDMIOTU Systemy czasu rzeczywistego w automatyce i robotyce. NAZWA JEDNOSTKI PROWADZĄCEJ PRZEDMIOT Instytut Politechniczny

Bardziej szczegółowo

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

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy

Bardziej szczegółowo

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom : Profil : Forma studiów: Obszar : Dziedzina:

Bardziej szczegółowo

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,

Bardziej szczegółowo

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy szeregowania?

Bardziej szczegółowo

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

Bardziej szczegółowo

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Mechanizm synchronizacji wątków/procesów Wykorzystanie semaforów zapobiega niedozwolonemu wykonaniu

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile)

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile) KRÓTKO O HISTORII RT-LINUX STAN PRAWNY - NIEFORTUNNY PATENT INNE ROZWIĄZANIA ZGODNOŚĆ Z POSIX (1003.13 PSE51 (minimal realtime system profile) KLUCZOWE ELEMENTY KONCEPCJI RTL WIRTUALNY SYSTEM PRZERWAŃ

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH SCHEDULING Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl Programowanie Systemów Wbudowanych 1/40 SZEREGOWANIE ZAGADNIENIA Czym jest szeregowanie? W jakim celu stosuje

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Wykład 1: Organizacja i program przedmiotu SKiTI 2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Wykład 7: Systemy czasu rzeczywistego w komputerowych systemach sterowania SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek:

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux. Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA SYSTEMY OPERACYJNE PROWADZI: dr inż. Jarosław Bilski Katedra Inżynierii Komputerowej Politechnika Częstochowska Wykład dla kierunku Informatyka 2 ZAJĘCIA: Obowiązkowe Wykład Laboratorium 2 godziny tygodniowo

Bardziej szczegółowo

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Motywacja Przewiduje się że w dalszej perspektywie głównym motorem wzrostu mocy przetwarzania komputerów

Bardziej szczegółowo

Sieciowe Systemy Operacyjne

Sieciowe Systemy Operacyjne 1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Rysy historyczny oraz podstawowe pojęcia i definicje Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia:

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows. Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,

Bardziej szczegółowo

1. Etapy rozwoju systemów komputerowych

1. Etapy rozwoju systemów komputerowych 1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

SYSTEMY CZASU RZECZYWISTEGO - VxWorks WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()

Bardziej szczegółowo

Systemy czasu rzeczywistego wstęp

Systemy czasu rzeczywistego wstęp J. Ułasiewicz Komputerowe systemy sterowania 1 1 Systemy wbudowane Często system sterujący stanowi integralną część urządzenia. Jest to system wbudowany. Nie posiada on żadnych elementów pozwalających

Bardziej szczegółowo

projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro

projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro Rygorystyczny (twardy) system operacyjny czasu rzeczywistego. Jego charakterystyczną

Bardziej szczegółowo

1. Szeregowanie w systemach czasu rzeczywistego

1. Szeregowanie w systemach czasu rzeczywistego J. Ułasiewicz Systemy Czasu Rzeczywistego 1 1. Szeregowanie w systemach czasu rzeczywistego 1.1 Definicje Zadanie - proces lub wątek Gotowych do wykonania zadań jest zwykle dużo więcej niż mogących je

Bardziej szczegółowo

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1 Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)

Bardziej szczegółowo

POSIX ang. Portable Operating System Interface for Unix

POSIX ang. Portable Operating System Interface for Unix POSIX ang. Portable Operating System Interface for Unix POSIX: próba standaryzacji różnych dystrybucji systemu operacyjnego UNIX, Początek prac 1985 r. pod auspicjami IEEE. POSIX IEEE 1003, Obecnie rozwojem

Bardziej szczegółowo

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo

Simulator of Operating System

Simulator of Operating System Mechanizmy stosowane w systemach operacyjnych system dydaktyczny Simulator of Operating System Sebastian Świerczyna Promotor: dr inż. Jarosław Bilski Politechnika Częstochowska Wydział Inżynierii Mechanicznej

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów

Bardziej szczegółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Systemy czasu rzeczywistego Real Time Systems. Automatyka i Robotyka I stopień ogólnoakademicki

Systemy czasu rzeczywistego Real Time Systems. Automatyka i Robotyka I stopień ogólnoakademicki Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2016/2017

Bardziej szczegółowo

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

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Sterowniki Programowalne (SP) Wykład 11

Sterowniki Programowalne (SP) Wykład 11 Sterowniki Programowalne (SP) Wykład 11 Podstawy metody sekwencyjnych schematów funkcjonalnych (SFC) SP 2016 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

Bardziej szczegółowo

System operacyjny System operacyjny

System operacyjny System operacyjny System operacyjny System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny do prawidłowej

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Bazy danych w sterowaniu

Bazy danych w sterowaniu Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie

Bardziej szczegółowo

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów

Bardziej szczegółowo

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania

Bardziej szczegółowo

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

U M L.  System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0

Bardziej szczegółowo

1 Podstawowe definicje i pojęcia współbieżności

1 Podstawowe definicje i pojęcia współbieżności J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Dlaczego zajmujemy się współbieżnością? W ciągu ostatnich 30 lat wzrost mocy przetwarzania osiągano

Bardziej szczegółowo

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom : Profil : Forma studiów: Obszar : Dziedzina:

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

Uniwersalny Konwerter Protokołów

Uniwersalny Konwerter Protokołów Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy

Bardziej szczegółowo

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

Bardziej szczegółowo

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista

Bardziej szczegółowo

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu. SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

System komputerowy. System komputerowy

System komputerowy. System komputerowy System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu

Bardziej szczegółowo

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska Podstawy informatyki Izabela Szczęch Politechnika Poznańska SYSTEMY OPERACYJNE 2 Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Klasyfikacja systemów operacyjnych

Bardziej szczegółowo

2.2.P.07: Komputerowe narzędzia inżynierii powierzchni

2.2.P.07: Komputerowe narzędzia inżynierii powierzchni 2nd Workshop on Foresight of surface properties formation leading technologies of engineering materials and biomaterials in Białka Tatrzańska, Poland 29th-30th November 2009 2 Panel nt. Produkt oraz materiał

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach 80x86

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 6 - procesy Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu

Bardziej szczegółowo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,

Bardziej szczegółowo

Materiały dodatkowe. Simulink Real-Time

Materiały dodatkowe. Simulink Real-Time Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink Real-Time Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Wstęp Simulink Real-Time jest środowiskiem pozwalającym na tworzenie

Bardziej szczegółowo