Nicolaus Copernicus University in Torun - Central Authentication Service
Strona główna

The Real-Time Operating Systems

General data

Course ID: 0800-AR2SOCZARZ
Erasmus code / ISCED: (unknown) / (0613) Software and applications development and analysis The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: The Real-Time Operating Systems
Name in Polish: Systemy operacyjne czasu rzeczywistego
Organizational unit: Faculty of Physics, Astronomy and Informatics
Course groups: (in Polish) Informatyka Stosowana s2. Przedmioty do wyboru specjalistyczne (wszystkie)
(in Polish) Przedmioty specjalistyczne I
ECTS credit allocation (and other scores): 5.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.
Language: Polish
Prerequisites:

(in Polish) 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.

Total student workload:

(in Polish) 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)

Learning outcomes - knowledge:

(in Polish) 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

Learning outcomes - skills:

(in Polish) 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


Learning outcomes - social competencies:

(in Polish) 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

Observation/demonstration teaching methods:

- display

Expository teaching methods:

- informative (conventional) lecture

Exploratory teaching methods:

- laboratory
- project work

Short description: (in Polish)

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.

Full description: (in Polish)

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

Bibliography: (in Polish)

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

Assessment methods and assessment criteria: (in Polish)

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

Practical placement: (in Polish)

„nie dotyczy”

Classes in period "Summer semester 2021/22" (past)

Time span: 2022-02-21 - 2022-09-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours more information
Lecture, 30 hours more information
Coordinators: Robert Frankowski
Group instructors: Robert Frankowski
Students list: (inaccessible to you)
Examination: Course - Examination
Laboratory - Grading
Lecture - Examination

Classes in period "Summer semester 2024/25" (future)

Time span: 2025-02-24 - 2025-09-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours more information
Lecture, 30 hours more information
Coordinators: Robert Frankowski
Group instructors: (unknown)
Students list: (inaccessible to you)
Examination: Course - Examination
Laboratory - Grading
Lecture - Examination
Course descriptions are protected by copyright.
Copyright by Nicolaus Copernicus University in Torun.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ contact accessibility statement mapa serwisu USOSweb 7.0.3.0-2 (2024-04-26)