Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Systemy operacyjne czasu rzeczywistego
Tok studiów:
2019/2020
Kod:
EELT-2-105-AP-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Automatyka przemysłowa i automatyka budynków
Kierunek:
Elektrotechnika
Semestr:
1
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Prowadzący moduł:
dr inż. Wróbel Grzegorz (wrobel@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Definicje syst. czasu rzeczywistego. Obszary zastosowań, budowa, podstawowe mechanizmy systemów operacyjnych czasu rzeczywistego. Zasady tworzenia aplikacji czasu rzeczywistego. Konfiguracja systemu.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna i rozumie podstawowe definicje i pojęcia dotyczące systemu czasu rzeczywistego i systemu operacyjnego czasu rzeczywistego. ELT2A_W06, ELT2A_W03 Egzamin
M_W002 Dysponuje aktualną wiedzą na temat podziału systemów czasu rzeczywistego i obszarów ich zastosowań. ELT2A_W06, ELT2A_W03 Egzamin
M_W003 Zna charakterystyki wybranych komercyjnych i niekomercyjnych systemów operacyjnych czasu rzeczywistego. ELT2A_W08 Egzamin
M_W004 Posiada usystematyzowaną wiedzę na temat budowy, zasady działania i podstawowych mechanizmów systemu operacyjnego czasu rzeczywistego. ELT2A_W06, ELT2A_W03 Egzamin
M_W005 Zna zasady tworzenia aplikacji czasu rzeczywistego w językach C, C++. ELT2A_W04 Egzamin
M_W006 Dysponuje wiedzą na temat użycia systemów czasu rzeczywistego w zastosowaniach wbudowanych, przemysłowych, medycznych, itp. ELT2A_W06, ELT2A_W03 Egzamin
M_W007 Posiada uporządkowaną wiedzę na temat rozproszonego sterowania oraz przetwarzanie danych w systemach czasu rzeczywistego ELT2A_W06 Egzamin
Umiejętności: potrafi
M_U001 Potrafi dokonać konfiguracji swojego środowiska pracy, określać wykorzystanie przez niego zasobów oraz wykorzystywać zasoby systemu dla potrzeb własnych procesów. ELT2A_U05, ELT2A_U03, ELT2A_U06 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U002 Potrafi skonfigurować system operacyjnego zgodnie z uwarunkowaniami czasowymi aplikacji sterującej. ELT2A_U05, ELT2A_U03, ELT2A_U06 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U003 Umie wykorzystać mechanizmy komunikacji międzyprocesowej zarówno w ramach pojedynczego węzła jak i systemu rozproszonego. ELT2A_U05, ELT2A_U03, ELT2A_U06 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U004 Umie wykorzystać różne mechanizmy synchronizacji procesów w systemie czasu rzeczywistego. ELT2A_U05, ELT2A_U03, ELT2A_U06 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U005 Potrafi wykorzystać różne mechanizmu systemu wielozadaniowego: priorytety, algorytmy kolejkowania, czasomierze, przerwania, sygnały. ELT2A_U05, ELT2A_U03, ELT2A_U06 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Orientuje się w standardach opisujących systemy UNIX i systemy czasu rzeczywistego. ELT2A_K01 Egzamin
M_K002 Potrafi korzystać z firmowych i społecznościowych forów wymiany informacji o zastosowaniu systemów czasu rzeczywistego. ELT2A_K02 Egzamin
M_K003 Potrafi sporządzić dokumentację konfiguracji systemu operacyjnego spełniającego określone wymagania. ELT2A_K01 Egzamin
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
56 28 0 28 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna i rozumie podstawowe definicje i pojęcia dotyczące systemu czasu rzeczywistego i systemu operacyjnego czasu rzeczywistego. + - - - - - - - - - -
M_W002 Dysponuje aktualną wiedzą na temat podziału systemów czasu rzeczywistego i obszarów ich zastosowań. + - - - - - - - - - -
M_W003 Zna charakterystyki wybranych komercyjnych i niekomercyjnych systemów operacyjnych czasu rzeczywistego. + - - - - - - - - - -
M_W004 Posiada usystematyzowaną wiedzę na temat budowy, zasady działania i podstawowych mechanizmów systemu operacyjnego czasu rzeczywistego. + - - - - - - - - - -
M_W005 Zna zasady tworzenia aplikacji czasu rzeczywistego w językach C, C++. + - - - - - - - - - -
M_W006 Dysponuje wiedzą na temat użycia systemów czasu rzeczywistego w zastosowaniach wbudowanych, przemysłowych, medycznych, itp. + - - - - - - - - - -
M_W007 Posiada uporządkowaną wiedzę na temat rozproszonego sterowania oraz przetwarzanie danych w systemach czasu rzeczywistego + - - - - - - - - - -
Umiejętności
M_U001 Potrafi dokonać konfiguracji swojego środowiska pracy, określać wykorzystanie przez niego zasobów oraz wykorzystywać zasoby systemu dla potrzeb własnych procesów. - - + - - - - - - - -
M_U002 Potrafi skonfigurować system operacyjnego zgodnie z uwarunkowaniami czasowymi aplikacji sterującej. - - + - - - - - - - -
M_U003 Umie wykorzystać mechanizmy komunikacji międzyprocesowej zarówno w ramach pojedynczego węzła jak i systemu rozproszonego. - - + - - - - - - - -
M_U004 Umie wykorzystać różne mechanizmy synchronizacji procesów w systemie czasu rzeczywistego. - - + - - - - - - - -
M_U005 Potrafi wykorzystać różne mechanizmu systemu wielozadaniowego: priorytety, algorytmy kolejkowania, czasomierze, przerwania, sygnały. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Orientuje się w standardach opisujących systemy UNIX i systemy czasu rzeczywistego. - - + - - - - - - - -
M_K002 Potrafi korzystać z firmowych i społecznościowych forów wymiany informacji o zastosowaniu systemów czasu rzeczywistego. + - - - - - - - - - -
M_K003 Potrafi sporządzić dokumentację konfiguracji systemu operacyjnego spełniającego określone wymagania. + - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 125 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
Przygotowanie do zajęć 25 godz
Samodzielne studiowanie tematyki zajęć 42 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (28h):

1. Systemy czasu rzeczywistego, podstawowe pojęcia i definicje (2 godz.)
Definicja systemu czasu rzeczywistego. Własności systemu czasu rzeczywistego. Podział systemów czasu rzeczywistego. Zastosowania. Systemy wbudowane, systemy dedykowane, systemy odporne na uszkodzenia, systemy o wysokiej dostępności.
2. System operacyjny czasu rzeczywistego, podstawowe pojęcia i definicje (2 godz.)
Definicja systemu operacyjnego. Własności systemu operacyjnego czasu rzeczywistego. Budowa systemu operacyjnego QNX. Jądro systemu operacyjnego – porównanie mikrojądra z jadrem monolitycznycznym. Modułowa budowa systemu QNX. Funkcje systemowe, komunikacja ze sprzętem.
3. Komunikacja międzyprocesowa w systemie QNX (4 godz.)
Sposoby przesyłania wiadomości. Komunikacja synchroniczna i asynchroniczna. Komunikacja blokująca i nieblokująca. Depozyty. Kolejki komunikatów. Architektura klient-serwer. Mechanizmy „Send driven” i” Reply driven”.
4. Priorytety, metody i algorytmy szeregowania zadań (4 godz.)
Pojęcie priorytetu procesu. Metody priorytetowania stosowane w różnych systemach. Odwrócenie priorytetu, dziedziczenie priorytetu. Pojęcie szeregowania zadań. Podstawowe algorytmy szeregowania zadań. Projektowanie systemów wielozadaniowych z użyciem priorytetów i szeregowania zadań.
5. Metody synchronizacji (4 godz.)
Synchronizacja przy użyciu komunikacji międzyprocesowej, sekcje krytyczne, semafory, muteksy, zmienne warunkowe, bariery, blokady, monitory .
6. Zegary i czasomierze w systemie czasu rzeczywistego (4 godz.)
Pojęcie zegara i czasomierza. Czas bezwzględny, relatywny, cykliczny. Tworzenie i używanie czasomierzy, sposoby realizacji pętli czasowych. Metody pomiaru bardzo krótkich czasów. Rozdzielczość czasowa systemu operacyjnego.
7. Przerwania, sygnały (2 godz.)
Przerwania sprzętowe, przerwania programowe. Realizacja procedur obsługi przerwania, maskowanie, przerwania zegarowe. Pojęcie sygnału, typy sygnałów, procedury obsługi sygnałów, maskowanie, blokowanie.
8. Obsługa pamięci i urządzeń wejścia/wyjścia (2 godz.)
Pamięć dzielona, synchronizacja dostępu. Obsługa sprzętowych portów wejściowych i wyjściowych.
9. System czasu rzeczywistego FreeRTOS (6 godz.)
Budowa systemu operacyjnego Free RTOS. Zastosowania. Dostępne mechanizmy czasu rzeczywistego. Metody realizacji aplikacji w systemie Free RTOS. Otwarty system operacyjny czasu rzeczywistego Open RTOS. System operacyjny czasu rzeczywistego bezpieczny (bezpieczeństwo funkcjonalne).

Ćwiczenia laboratoryjne (28h):

1. Podstawowe pojęcia związane z systemami czasu rzeczywistego (2 godz.).
2. Komunikacja międzyprocesowa (4 godz.).
3. Priorytety, metody i algorytmy szeregowania zadań (2 godz.).
4. Mechanizmy synchronizacji procesów (4 godz.).
5. Czasomierze, przerwania, wyjątki (4 godz.).
6. Dostęp do pamięci, dostęp do urządzeń wejścia/wyjścia (2 godz.).
7. System wbudowany zrealizowany w oparciu o FreeRTOS (4 godz.).
8. Rozproszony system czasu rzeczywistego (4 godz.).
9. System odporny na uszkodzenia, system o wysokiej dostępności (2 godz.).

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

1. Zaliczenie poszczególnych ćwiczeń laboratoryjnych polega na przedstawieniu prowadzącemu i przedyskutowaniu działającego poprawnie ćwiczenia.
2. Z ćwiczeń wystawiane są oceny cząstkowe, średnia z tych ocen będzie oceną z zajęć laboratoryjnych (ćwiczenia niezaliczone lub niewykonane skutkują oceną cząstkową 2.0).
3. Po wykonanym ćwiczeniu należy przesłać sprawozdanie na adres mailowy prowadzącego.
4. Podstawowy termin zaliczenia ćwiczeń laboratoryjnych odpowiada terminowi ostatnich zajęć laboratoryjnych w semestrze. Dwa terminy poprawkowe są ustalane nie później niż 3 tygodnie przed ostatnimi zajęciami (§15 ust. 4 Regulaminu Studiów I i II stopnia AGH).
5. Warunkiem przystąpienia do egzaminu jest uzyskanie pozytywnej oceny z zaliczenie ćwiczeń laboratoryjnych z uwzględnieniem §16 ust. 9 Regulaminu Studiów I i II stopnia AGH.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

1. Aby uzyskać pozytywną ocenę końcową konieczne jest uzyskanie pozytywnej oceny z ćwiczeń laboratoryjnych i z egzaminu.
2. Do zaliczenia ćwiczeń laboratoryjnych wymagana jest obecność na zajęciach, uzyskanie pozytywnych ocen z ćwiczeń wykonywanych w ramach zajęć (oceny ze sprawozdań i ewentualnie odpowiedzi ustnej w przypadku wątpliwości/niejasności w sprawozdaniu). Ocena na zaliczenie ćwiczeń laboratoryjnych jest średnią arytmetyczną ocen cząstkowych.
3. Na zajęciach laboratoryjnych dopuszczalne są maksymalnie 4 nieobecności, w tym 2 mogą być nieusprawiedliwione.
4. Ocena końcowa jest równa średniej ważonej ocen pozytywnych z zaliczenia ćwiczeń laboratoryjnych (60%) i egzaminu (40%).
5. Oceny wyrażone w skali procentowej są przeliczane na oceny w skali od 2,0 (nzal) do 5,0 zgodnie z zasadami określonymi w §13 ust. 1 Regulaminu Studiów I i II stopnia AGH

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

1. Odrabianie ćwiczeń laboratoryjnych jest możliwe w terminach zajęć ustalonych w planie zajęć pod warunkiem wolnego miejsca przy stanowiskach w laboratorium.
2. Zaliczenie ćwiczeń, na których student był nieobecny i które nie zostały odrobione, polega na ich wykonaniu i oddaniu sprawozdań z tych ćwiczeń i/lub odpowiedzi ustnej.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Znajomość podstawowych zagadnień związanych z systemami operacyjnymi. Znajomość języka C lub C++ w stopniu umożliwiającym realizację prostych programów.

Zalecana literatura i pomoce naukowe:

1. Sacha K.: Systemy czasu rzeczywistego. Warszawa, Oficyna Wyd. PW, 1999.
2. Ułasiewicz J.: Systemu czasu rzeczywistego. QNX6 Neutrino. Warszawa, Wyd. btc, 2007
3. Lal K., Rak T., Orkisz K., RTLinux – system czasu rzeczywistego. Gliwice, Helion, 2003.
4. Plaza A., Wróbel E. J.: Systemy czasu rzeczywistego. Warszawa, WNT 1988
5. Szmuc T.: Specyfikacja i projektowanie oprogramowania systemów czasu rzeczywistego . Uczelniane Wyd. Naukowo-Dydaktyczne, AGH, 2000
6. Szymczyk P.: Systemy operacyjne czasu rzeczywistego, Wydawnictwa AGH, Kraków 2003

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Systemy automatyki budynku realizujące funkcje bezpieczeństwa – struktury sprzętu — Building automation systems performing safety functions – hardware structures / Marcin JACHIMSKI, Zbigniew MIKOŚ, Grzegorz WRÓBEL // Przegląd Elektrotechniczny / Stowarzyszenie Elektryków Polskich ; ISSN 0033-2097. — 2015 R. 91 nr 4, s. 109–114.
2. Event-based and time-triggered energy consumption data acquisition in building automation / Marcin JACHIMSKI, Zbigniew MIKOŚ, Grzegorz WRÓBEL, Grzegorz HAYDUK, Paweł KWASNOWSKI // W: EBCCSP 2015 [Dokument elektroniczny] : first international conference on Event-Based Control, Communication and Signal Processing : June 17–19, 2015, Krakow, Poland : proceedings. — Dane tekstowe. — Piscataway : IEEE, cop. 2015. — e-ISBN: 978-1-4673-7888-8. — S. 1–6.
3. Szybka akwizycja danych w systemach sterowania zbudowanych z zastosowaniem SoftPLC — [Fast data acquisition in SoftPLC control systems] / Grzegorz WRÓBEL, Zbigniew MIKOŚ, Grzegorz HAYDUK, Paweł KWASNOWSKI, Marcin JACHIMSKI, Henryk Zygmunt // W: Systemy informatyczne z ograniczeniami czasowymi : praca zbiorowa / pod red.: Andrzeja Kwietnia, Piotra Gaja. — Warszawa : WKŁ Wydawnictwa Komunikacji i Łączności, 2006. — ISBN: 978-83-206-1612-5 ; ISBN10: 83-206-1612-3.

Informacje dodatkowe:

Brak