Detail předmětu
Real-time operační systémy (v angličtině)
ROSa Ak. rok 2017/2018 letní semestr 5 kreditů
Studie konceptů, technik a standardů pro vestavěné operační systémy včetně vestavěných operačních systémů reálného času. Předmět pokrývá následující problematiku: Základní koncepty reálného času. Specifikace, verifikace a návrh systémů reálného času. Jádra. Komunikace a synchronizace. Správa paměti. Analýza a optimalizace výkonnosti. Fronty. Spolehlivost a odolnost proti poruchám. Multiprocesorové systémy. Integrace hardware a software. Studie operačních systémů.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
Bodové hodnocení
- 55 bodů závěrečná zkouška (40 bodů písemná část, 15 bodů testová část)
- 15 bodů půlsemestrální test (testová část)
- 12 bodů laboratoře
- 18 bodů projekty
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Teoretický základ z oblasti specifikace/verifikace a praktická znalost operačních systémů pracujících v reálném čase. Po absolvování předmětu studenti budou schopni využít víceúlohové možnosti real-time operačních systémů, porozumí základním principům z oblasti real-time systémů, seznámí se s vlastnostmi, strukturou a konkrétními implementacemi těchto systémů a s faktory, které mají podstatný vliv na vlastnosti těchto systémů.
Teoretické a praktická orientace v oblasti vývojového cyklu aplikací pracujících v reálném čase, schopnost navrhovat aplikace založené na real-time operačních systémech.
Cíle předmětu
Cílem předmětu je seznámit studenta se základními principy v oblasti real-time systémů a obohatit studenta o teoretické znalosti a praktické zkušenosti spojené s vývojovým cyklem vestavěných aplikací založených na real-time operačních systémech.
Požadované prerekvizitní znalosti a dovednosti
Znalost principů operačních systémů (OS): přehled architektur OS, klasifikace OS, znalost struktury jádra OS UNIX a principů volání služeb jádra, shell. Pojmy přepínání kontextu, multitasking. Souborové systémy, správa procesů, virtuální paměť. Znalost programování v jazyce C.
Literatura studijní
- Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 p., ISBN 0-471-18406-3.
- Joseph, M.: Real-Time Systems Specification, Verification and Analysis. Prentice Hall, 1996, p. 278, ISBN 0-13-455297-0.
- Krishna, C. M., Shin, K. G.: Real-Time Systems. McGraw-Hill, 1997, 448 s., ISBN 0-07-114243-6.
- Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 p., ISBN 0-471-22855-9.
- Levi, S. T., Agrawala, A. K.: Real-Time System Design. McGraw-Hill, 1990, 299 s., ISBN 0-07037-491-0.
- Li, Q., Yao, C.: Real-Time Concepts for Embedded Systems. CMP Books, 1st Edition, 2003, 294 s., ISBN 1-57820-124-1.
Literatura referenční
- Butazzo, G.: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications. Springer, 2011, 524 p., ISBN 978-1-4614-0675-4.
- Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 p., ISBN 0-470-84766-2.
- Kopetz, H.: Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer, 2011, 378 p., ISBN 978-1-4419-8236-0.
- Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 p., ISBN 978-1578201037.
Osnova seminářů
- Vymezení základních pojmů souvisejících se systémy pracujícími v reálném čase (RT), motivace.
- Úvod ke specifikaci a verifikaci RT systémů.
- Architektury jader RT systémů - typické vlastnosti, problémy a principy srovnání výkonnosti.
- Časové analýzy RT jader, principy analýz dob odezev jednotlivých typů RT jader.
- Přehled a vlastnosti běžných rozhraní a plánovacích mechanismů v (RT)OS, prioritních plánovačů, POSIX 1003.1b.
- Případové studie: uC/OS-II, uC/OS-III, FreeRTOS.
- Případové studie: MQX, Autosar-OSEK/VDX, QNX.
- Model RT úloh a úvod k plánování množin RT úloh. Problém plánovatelnosti množin RT úloh.
- Plánování množin nezávislých periodických RT úloh s pevnými a dynamickými prioritami v jednoprocesorovém prostředí: RM, DM, EDF, LL.
- Mechanismy společného plánování periodických, sporadických a aperiodických RT úloh s využitím serverů úloh.
- Plánování závislých RT úloh přiřazováním priorit v jednoprocesorovém prostředí, prevence inverze priorit, blokování a uváznutí pomocí protokolů přístupu k prostředkům: PIP, HLP, PCP, SRP, TBS, CBS.
- Mechanismy plánování RT úloh při přetížení RT systému: Dover, RED, LBESA, DASA.
- Plánování RT úloh ve víceprocesorovém prostředí (anomálie, RMNF, RMFF, RMBF, RMST, RMGT), pro zvýšení spolehlivosti RT systému a pro nízký příkon (DVS, DPM).
Osnova počítačových cvičení:
- Specifikace a verifikace jednoduchého RT systému pomocí nástroje UPPAAL.
- Návrh a implementace jednoduché RT aplikace pomocí API z uC/OS-II, FreeRTOS, MQX, popř. QNX/Neutrino či POSIX 1003.1b.
- Porovnání vlastností jednotlivých RTOS jader (uC/OS-II, FreeRTOS, MQX).
- Seznámení se s nástroji Timestool a Cheddar pro základní modelování a analýzu RT aplikací popsaných množinou RT úloh s parametry.
- Využití nástrojů TimesTool, Cheddar a jader uC/OS-II, FreeRTOS, MQX k pokročilým analýzám (např. zkoumání vlastností protokolů přístupu k prostředkům a mechanismů plánování při přetížení, ve víceprocesorových či nízkopříkonových podmínkách).
Osnova ostatní - projekty, práce:
- Individuální nebo skupinový projekt.
Průběžná kontrola studia
Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.
Bez podmínek.
Kontrolovaná výuka
Kontrolována je účast a aktivita během přednášek, počítačových laboratoří a postup prací na projektu.
Zařazení předmětu ve studijních plánech