Systemy operacyjne czasu rzeczywistego
Informacje ogólne
Kod przedmiotu: | 0800-SOCZARZ |
Kod Erasmus / ISCED: |
(brak danych)
/
(0613) Tworzenie i analiza oprogramowania i aplikacji
|
Nazwa przedmiotu: | Systemy operacyjne czasu rzeczywistego |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: | |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | polski |
Wymagania wstępne: | W celu przyswojenia treści wykładu i możliwości praktycznego wykorzystania przedłożonych w nim informacji na ćwiczeniach, wymaga się uzupełnienia wiedzy z zakresu posługiwania się systemem operacyjnym Linux, oraz umiejętności programowania w języku C. |
Całkowity nakład pracy studenta: | Godziny realizowane z udziałem nauczycieli ( godz.75 ): - udział w wykładach – 30h - udział w laboratorium – 30h - konsultacje z nauczycielem akademickim – 15h Czas poświęcony na pracę indywidualną studenta ( godz.65): - przygotowanie do laboratorium – 25h - przygotowanie do egzaminu – 25h - przygotowanie do kolokwium – 15h Łącznie: 140 godz. ( 5 ECTS) |
Efekty uczenia się - wiedza: | W1: posiada uporządkowaną wiedzę na temat mechanizmów tworzenia aplikacji czasu rzeczywistego, stosując do tego celu systemy operacyjne czasu rzeczywistego – K_W01, K_W04 W2: posiada wiedzę w zakresie stosowania konstrukcji języka C do opisu działania aplikacji wielowątkowych – K_W02 W3: posiada wiedzę w zakresie stosowania specjalistycznych narzędzi i języków programowania wymaganych podczas tworzenia aplikacji czasu rzeczywistego – K_W04, K_W05 |
Efekty uczenia się - umiejętności: | U1: posiada umiejętność samodzielnego wyszukiwania niezbędnych informacji koniecznych do rozwiązywania zadanego problemu – K_U01 U2: Właściwie wykorzystuje wybrane narzędzia programistyczne podczas realizacji aplikacji czasu rzeczywistego – K_U11, K_U08 U3: Wykorzystując język C i poznane mechanizmy potrafi zaprojektować prosty system sterowania spełniający wymogi zakładanego reżimu czasowego – K_U04, K_U06 |
Efekty uczenia się - kompetencje społeczne: | K1: zna poziom własnej wiedzy, potrafi precyzyjnie formułować pytania używając do tego celu języka technicznego – K_K01, K_K05 K2: student działa i myśli kreatywnie rozwiązując zagadnienia z zakresu tworzenia aplikacji czasu rzeczywistego – K_K06 K3: posiada świadomość skutków wadliwie działających systemów sterowania pracujących pod reżimem czasu rzeczywistego – K_K02 |
Metody dydaktyczne eksponujące: | - pokaz |
Metody dydaktyczne podające: | - wykład informacyjny (konwencjonalny) |
Metody dydaktyczne poszukujące: | - laboratoryjna |
Skrócony opis: |
Zajęcia z systemów operacyjnych czasu rzeczywistego mają na celu przekazanie wiedzy z zakresu: - systemów czasu rzeczywistego, - systemów operacyjnych czasu rzeczywistego, - mechanizmów sterowania z wykorzystaniem RTOS. Uczestnik przedmiotu zdobędzie praktyczną wiedzę odnośnie tworzenia aplikacji czasu rzeczywistego, stosując do tego celu system operacyjny czasu rzeczywistego. |
Pełny opis: |
Główne zagadnienia poruszane na wykładzie: 1. Wprowadzenie do systemów czasu rzeczywistego, podstawowe pojęcia i definicje. 2. Systemy operacyjne czasu rzeczywistego i standard POSIX 2.1 Linux czasu rzeczywistego - RTAI a) Architektura systemu, b) Podstawy pisania modułów dla jądra Linuxa, c) Wirtualny system przerwań, d) Zadania czasu rzeczywistego, szeregowanie zadań, odmierzanie czasu, e) Komunikacja międzyprocesowa - kolejki FIFO, - pamięć dzielona, - synchronizacja i wzajemne wykluczanie, f) Wykorzystanie RTAI-Lab i oferowanych przez nie narzędzi do realizacji zadań czasu rzeczywistego 2.2 System operacyjny czasu rzeczywistego QNX a) architektura systemu, b) zarządzanie procesami i wątkami, c) komunikacja pomiędzy procesami, d) pamięć dzielona i semafory, e) sygnały, alarmy, kolejki komunikatów, f) przerwania, czas, jego pomiar i reprezentacja w systemie 2.3 Systemy operacyjne czasu rzeczywistego w układach SoC 2.4 Przegląd i porównanie pozostałych systemów RTOS 3. Przykłady zastosowań systemów RTOS w praktyce Laboratorium - realizowane zagadnienia: - stany procesów i wątków, - zarządzanie procesami i wątkami, - szeregowanie wątków, - pamięć dzielona i semafory, - sygnały, komunikaty, - timery i zdarzenia, - przerwania, - wykorzystanie poznanych mechanizmów w procesie sterowania. |
Literatura: |
Literatura podstawowa: 1. Ułasiewicz J.: Systemy czasu rzeczywistego QNX6 Neutrino, BTC, 2007 2. Wang, K. C.: Embedded and Real-Time Operating Systems, Springer, 2017 3. J. Cooling: Real-time Operating Systems: Book 1 - The Theory (The engineering of real-time embedded systems), 2017 4. K. Lal: RTLinux – system czasu rzeczywistego, Helion, 2003 Literatura uzupełniająca: 1. Strona domowa linuxa wraz z modułem czasu rzeczywistego RTAI: www.linuxcnc.org (Ubuntu 10.04, Lucid Lynx, kernel 2.6.34-2.6.36); 2. Strona domowa RTAI: www.rtai.org (RTAI 3.8 zawiera patch pod kernel 2.6.36 oraz dokumentację RTAI User Manual 3.4) 3. System czasu rzeczywistego QNX6 Neutrino: www.qnx.com 4. Kulesz Z.: Programowanie sterowników czasu rzeczywistego w układach PLD i FPGA, Politechnika Białostocka, 2015 5. PetaLinux Tools Documentation, Reference Guide, UG1144, 2018 |
Metody i kryteria oceniania: |
Zaliczenie przedmiotu odbywa się na podstawie pozytywnej oceny z laboratorium oraz pozytywnego wyniku egzaminu pisemnego. Egzamin pisemny w formie testu z pytaniami otwartymi i zamkniętymi sprawdza osiągnięcie efektów: W1, W2, W3. Laboratorium zaliczane jest na podstawie średniej ocen z dwóch kolokwiów weryfikujących praktyczne umiejętności studenta z zakresu tworzenia aplikacji wykorzystujących poznane mechanizmy stosowane przy realizacji zadań spełniających wymogi reżimu czasu rzeczywistego. Kolokwia sprawdzają osiągnięcie efektów: U1, U2, U3, K1, K2, K3. Kryteria oceniania: ndst - <0% - 45%) dst – <45% - 55%) dst plus – <55% - 65%) db – <65% - 75%) db plus – <75% - 85%) bdb - <85% - 100%> |
Praktyki zawodowe: |
„nie dotyczy” |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.