Detail předmětu

Operační systémy reálného času

FEKT-MRTSAk. rok: 2017/2018

Předmět si klade za cíl seznámit posluchače jak s teoretickými, tak i s praktickými aspekty implementace řídicích aplikací do operačních systémů reálného času. Předmět je koncipován tak, aby seznámil posluchače krok za krokem se všemi důležitými aspekty tvorby řídicí aplikace, jako jsou analýza úlohy, volba vhodné architektury a operačního systému reálného času, tvorba více vláknových procesů a jejich synchronizace s ohledem na časová omezení a sdílené zdroje, syntéza a verifikace úlohy na cílové platformě. Předmět připravuje posluchače na metodiku vývoje systému pomocí schématu analýza-verifikace-syntéza s ohledem na vysoce funkční a vysoce bezpečné řízení. Většina teoretických poznatků je vyzkoušena na praktických příkladech a jejich pochopení a zvládnutí je ověřeno na závěrečném projektu.

Výsledky učení předmětu

Absolvent předmětu je schopen:
Vysvětlit základní pojmy v oblasti operačních systémů reálného času, algoritmů plánovaní, synchronizace paralelního běhu úloh, symetrických a asymetrických architektur.
Určit základní vlastnosti konkrétního operačního systému reálného času jak z přiložené dokumentace, tak pomocí vhodných experimentů.
Popsat architekturu x86 a ARM a kvalifikovaně rozhodnout o vhodnosti jejich použití pro danou úlohu.
Analyzovat a definovat pro zadanou úlohu požadavky na HW a SW vybavení řídicího systému.
Analyzovat a definovat pro zadanou úlohu její časové charakteristiky s ohledem na jejich splnění v reálném čase.
Analyzovat a definovat pro zadanou úlohu sdílené zdroje a pro tyto zvolit vhodný mechanismus sdílení, přidělování a synchronizace.
Provést analýzu, verifikaci a syntézu kritických částí úlohy ve vhodném nástroji.
Identifikovat paralelně běžící části zadané úlohy a tyto správně implementovat ve zvoleném API.
Identifikovat a vypočítat základní charakteristiky systému s ohledem na jeho Fault-tolerant chování.

Prerekvizity

Posluchač by měl mít znalosti a zejména praktické dovednosti z programování v některém vyšším programovacím jazyce jako C, C++ nebo C#. Posluchač by měl být schopen provést samostatnou analýzu úlohy definované buďto slovně nebo pomocí vývojového či stavového diagramu a z provedené analýzy provést algoritmizaci a implementaci úlohy. Měl by mít základní přehled o číslicových obvodech, procesorové technice a o teorii řízení v rozsahu bakalářského studia elektrotechnického směru. Dále by měl mít posluchač znalosti z matematické statistiky, teorie pravděpodobnost, matematické analýzy a fyziky v rozsahu bakalářského studia libovolného směru. Velkou výhodou posluchače je schopnost a ochota pracovat samostatně nebo v týmu na projektu zabývající se problémem v oblastí řízení a regulace.

Doporučená nebo povinná literatura

Douglas, B., P. Doing Hard Time, Reading, Mass.:Addison-Wesley, 2000 (EN)
Li, Q., Yao, C. Real-Time Concepts for Embedded Systems:CMP Books, 2003 (EN)
Chowdary, V. P. Simple Real-time Operating System: A Kernel Inside View for a Beginner, Trafford Publishing, 2007 (EN)
http://www.taceo.eu/mrts (CS)

Plánované vzdělávací činnosti a výukové metody

Během semestru se předmět skládá z pravidelných přednášek, cvičení, konzultací a závěrečného projektu v souladu s články 7.2a, 7.2c, 7.3 a 7.4 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Kritérium hodnocení kurzu je založeno na bodovém hodnocení v souladu s článkem 13 Studijního a zkušebního řádu VUT. Horní hranice bodů je v jednotlivých kategoriích stanovena takto:
10 bodů za dvě domácí cvičení (2 x 5).
30 bodů za závěrečný projekt.
50 bodů za povinnou písemnou část závěrečné zkoušky.
10 bodů za ústní část závěrečné zkoušky.
Účast na písemné a ústní části je podmíněna udělením zápočtu. Zápočet je udělen za odevzdaný závěrečný projekt, který má nenulové bodové hodnocení.

Jazyk výuky

čeština

Osnovy výuky

1. Klasické řízení a řídicí systémy. Řízení ve smyčce.
2. Multitasking a operační systémy, přehled RTOS.
3. Synchronizace (event, mutex, semafor, critical section, shared object).
4. Deadlines (Race condition, deadlock, livelock, starvation, priority inversion).
5. Plánovací algoritmy jednoduché a víceprocesorové architektury. Architektura x86 a ARM.
6. Základní pojmy a definice v oblasti RTOS.
7. Analýza parametrů RTOS, systémy řízené časem a událostmi.
8. Analýza požadavků za řízení v reálném čase.
9. Analýza, verifikace a syntéza úlohy. Determinismus řídicí úlohy.
10. HMI systémy, vazba na real-time systémy.
11. Správa paměti v RTOS.
12. Faul-tolerant systémy.

Cíl

Cílem předmětu je seznámit posluchače s problematikou implementace řídicích algoritmů do 32bitových operačních systémů reálného času s důrazem na bezpečnost a spolehlivost řídicího systému.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Kontrolovaná výuka předmětu je určena v souladu článkem 7.5 Studijního a zkušebního řádu VUT a je prováděna vyučujícím kurzu způsobem a v míře odpovídající zvyklostem akademické obce. Nahrazování zameškané výuky je řešeno individuálně dle požadavků posluchače a uvážení garanta předmětu.

Zařazení předmětu ve studijních plánech

  • Program EEKR-M1 magisterský navazující

    obor M1-KAM , 1. ročník, zimní semestr, 5 kreditů, volitelný oborový

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Laboratorní cvičení

26 hod., nepovinná

Vyučující / Lektor