Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Systemy operacyjne czasu rzeczywistego

Informacje ogólne

Kod przedmiotu: 0800-AR2SOCZARZ
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Systemy operacyjne czasu rzeczywistego
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy: Informatyka Stosowana s2. Przedmioty do wyboru specjalistyczne (wszystkie)
Przedmioty specjalistyczne I
Punkty ECTS i inne: 5.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
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 wiedzę na temat mechanizmów tworzenia aplikacji czasu rzeczywistego, stosując do tego celu systemy operacyjne czasu rzeczywistego (RTAI oraz RTOS zgodne ze standardem POSIX 1003.1 a także jego dalszymi unormowaniami dotyczącymi systemów czasu rzeczywistego) – K_W01

W2: posiada wiedzę w zakresie stosowania konstrukcji języka C do opisu działania aplikacji wielowątkowych – K_W03, K_W05

W3: posiada wiedzę w zakresie stosowania specjalistycznych narzędzi i języków programowania wymaganych podczas tworzenia aplikacji czasu rzeczywistego – K_W05, K_W12

Efekty uczenia się - umiejętności:

U1: Wykorzystując język C i poznane mechanizmy potrafi zaprojektować system sterowania spełniający wymogi zakładanego reżimu czasowego – K_U03, K_U12

U2: Właściwie wykorzystuje wybrane narzędzia programistyczne podczas realizacji aplikacji czasu rzeczywistego – K_U05

U3: posiada umiejętność samodzielnego wyszukiwania niezbędnych informacji koniecznych do rozwiązywania zadanego problemu – K_U01


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

K2: student działa i myśli kreatywnie rozwiązując zagadnienia z zakresu tworzenia aplikacji czasu rzeczywistego - K_K03

K3: posiada świadomość skutków wadliwie działających systemów sterowania pracujących pod reżimem czasu rzeczywistego - K_K07

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- laboratoryjna
- projektu

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

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 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”

Zajęcia w cyklu "Semestr letni 2021/22" (zakończony)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Robert Frankowski
Prowadzący grup: Robert Frankowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2023/24" (w trakcie)

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Robert Frankowski
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)