Detail předmětu

Real-time operační systémy

FIT-ROSAk. rok: 2015/2016

Studie konceptů, technik a standardů souvisejících s vestavnými operačními systémy 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. Případové studie.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení 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.

Prerekvizity

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.

Způsob a kritéria hodnocení

Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.

Osnovy výuky

Osnova přednášek:
  1. Vymezení základních pojmů souvisejících se systémy pracujícími v reálném čase (RT), motivace.
  2. Úvod ke specifikaci a verifikaci RT systémů.
  3. Architektury jader RT systémů - typické vlastnosti, problémy a principy srovnání výkonnosti.
  4. Časové analýzy RT jader, principy analýz dob odezev jednotlivých typů RT jader.
  5. Přehled a vlastnosti běžných rozhraní a plánovacích mechanismů v (RT)OS, prioritních plánovačů, POSIX 1003.1b.
  6. Případové studie: uC/OS-II, uC/OS-III, FreeRTOS.
  7. Případové studie: MQX, Autosar-OSEK/VDX, QNX.
  8. Model RT úloh a úvod k plánování množin RT úloh. Problém plánovatelnosti množin RT úloh.
  9. 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.
  10. Mechanismy společného plánování periodických, sporadických a aperiodických RT úloh s využitím serverů úloh.
  11. 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.
  12. Mechanismy plánování RT úloh při přetížení RT systému: Dover, RED, LBESA, DASA.
  13. 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í:
  1. Specifikace a verifikace jednoduchého RT systému pomocí nástroje UPPAAL.
  2. Návrh a implementace jednoduché RT aplikace pomocí  API z uC/OS-II, FreeRTOS, MQX, popř. QNX/Neutrino či POSIX 1003.1b.
  3. Porovnání vlastností jednotlivých RTOS jader (uC/OS-II, FreeRTOS, MQX).
  4. 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.
  5. 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.

Učební cíle

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.

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

Kontrolována je účast a aktivita během přednášek, počítačových laboratoří a postup prací na projektu.

Základní literatura

  • Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 s., ISBN 0-471-18406-3.
  • Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 s., ISBN 0-470-84766-2.
  • Horovčák, P.: Systémy reálneho času. Elfa, Košice, 2002, 141 s., ISBN 80-89066-29-1 (brož.).
  • Joseph, M.: Real-Time Systems Specification, Verification and Analysis. Prentice Hall, 1996, 278 s., ISBN 0-13-455297-0.
  • Krishna, C. M., Shin, K. G.: Real-Time Systems. McGraw-Hill, 1997, 448 s., ISBN 0-07-114243-6.
  • Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 s., ISBN 978-1578201037.
  • Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 s., 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.
  • Srovnal, V.: Operační systémy pro řízení v reálném čase. VŠB TU, Ostrava, 1. vydání, 2003, 218 s., ISBN 80-248-0503-0 (brož.).
  • Strnadel, J.: Studijní opora k předmětu ROS. FIT VUT v Brně, Brno, 2006, 120 s.

Doporučená literatura

  • Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 s., ISBN 0-470-84766-2.
  • Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 s., ISBN 978-1578201037.
  • Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 s., ISBN 0-471-22855-9.
  • Strnadel, J.: Studijní opora k předmětu ROS. FIT VUT v Brně, Brno, 2006, 120 s.
  • Strnadel, J.: Návrh časově kritických systémů I: specifikace a verifikace, Automa, roč. 2010, č. 10, CZ, s. 42-44, ISSN 1210-9592
  • Strnadel, J.: Návrh časově kritických systémů II: úlohy reálného času, Automa, roč. 2010, č. 12, CZ, s. 18-19, ISSN 1210-9592 
  • Strnadel, J.: Návrh časově kritických systémů III: priorita úloh, Automa, roč. 2011, č. 2, CZ, s. 50-52, ISSN 1210-9592
  • Strnadel, J.: Návrh časově kritických systémů IV: realizace prostředky RTOS, Automa, roč. 2011, č. 4, CZ, s. 58-60, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - I: závislé úlohy, Automa, roč. 18, č. 10, 2012, CZ, s. 42-45, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - II: neperiodické úlohy, Automa, roč. 18, č. 11, 2012, CZ, s. 44-46, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - III: přetížení systému, Automa, roč. 18, č. 12, 2012, CZ, s. 44-47, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - IV: víceprocesorové prostředí, Automa, roč. 19, č. 1, 2013, CZ, s. 44-46, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - V: zvyšování provozuschopnosti systémů, Automa, roč. 19, č. 2, 2013, CZ, s. 46-49, ISSN 1210-9592

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

  • Program IT-MGR-2 magisterský navazující

    obor MBS , libovolný ročník, zimní semestr, volitelný
    obor MBI , libovolný ročník, zimní semestr, volitelný
    obor MIN , libovolný ročník, zimní semestr, volitelný
    obor MMI , libovolný ročník, zimní semestr, povinně volitelný
    obor MMM , libovolný ročník, zimní semestr, volitelný
    obor MGM , libovolný ročník, zimní semestr, volitelný
    obor MPV , libovolný ročník, zimní semestr, volitelný
    obor MSK , 1. ročník, zimní semestr, povinně volitelný
    obor MIS , 2. ročník, zimní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Vymezení základních pojmů souvisejících se systémy pracujícími v reálném čase (RT), motivace.
  2. Úvod ke specifikaci a verifikaci RT systémů.
  3. Architektury jader RT systémů - typické vlastnosti, problémy a principy srovnání výkonnosti.
  4. Časové analýzy RT jader, principy analýz dob odezev jednotlivých typů RT jader.
  5. Přehled a vlastnosti běžných rozhraní a plánovacích mechanismů v (RT)OS, prioritních plánovačů, POSIX 1003.1b.
  6. Případové studie: uC/OS-II, uC/OS-III, FreeRTOS.
  7. Případové studie: MQX, Autosar-OSEK/VDX, QNX.
  8. Model RT úloh a úvod k plánování množin RT úloh. Problém plánovatelnosti množin RT úloh.
  9. 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.
  10. Mechanismy společného plánování periodických, sporadických a aperiodických RT úloh s využitím serverů úloh.
  11. 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.
  12. Mechanismy plánování RT úloh při přetížení RT systému: Dover, RED, LBESA, DASA.
  13. 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).

Cvičení na počítači

10 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Specifikace a verifikace jednoduchého RT systému pomocí nástroje UPPAAL.
  2. Návrh a implementace jednoduché RT aplikace pomocí  API z uC/OS-II, FreeRTOS, MQX, popř. QNX/Neutrino či POSIX 1003.1b.
  3. Porovnání vlastností jednotlivých RTOS jader (uC/OS-II, FreeRTOS, MQX).
  4. 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.
  5. 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).

Projekt

16 hod., nepovinná

Vyučující / Lektor