Počet kreditů 6
Vyučováno v Zimní
Rozsah výuky 2+2c
Garant předmětu
Přednášející
Cvičící

Cílem tohoto předmětu je poskytnout studentům základní znalosti v oblasti vývoje SW pro řídicí systémy vybavené některým z operačních systémů reálného času RTOS. Na cvičeních budou studenti řešit nejprve několik menších úloh s cílem jednak zvládnout práci se základními komponenty RTOS VxWorks a jednak změřit časové parametry OS a hardwaru, které jsou potřebné při výběru platformy vhodné pro danou aplikaci. Poté budou řešit složitější úlohu - časově náročné řízení modelu, kde budou moci plně využít vlastností použitého RTOS. Na přednáškách budou studenti seznámeni jak s teorií systémů pracujících v reálném času, která slouží k formálnímu potvrzení správnosti bezpečnostně kritických aplikací, tak s některými praktikami softwarového inženýrství, které vedou ke zvyšování kvality výsledných softwarových produktů. \\Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/A3M35PSR \\Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/A4B35PSR

Zájemce musí zvládat základy programování v jazyce C a programování vícevláknových aplikací. Výhodou je absolvování předmětu A0B35APO.

Stránky předmětu: https://moodle.dce.fel.cvut.cz/

  1. Systémy reálného času, požadavky, vlastnosti
  2. OS VxWorks
  3. Rozhraní podle normy POSIX
  4. Jazyk C pro pokročilé, překladač GCC
  5. Kódovací standardy, verzovací systémy, certifikace
  6. Časování přístupu k paměti; správa dynamické paměti
  7. Statické rozvrhování
  8. Rozvrhování s dynamickou prioritou
  9. Rozvrhování se statickou prioritou
  10. Problémy v analýze RT aplikací
  11. Správa sdílených zdrojů
  12. Správa sdílených zdrojů II.
  13. Ostatní real-time operační systémy; přerušovací systém; podpora různých HW platforem (BSP
  14. Kombinování real-time úloh s běžnými úlohami



  1. Seznámení se s OS VxWorks a jeho vývojovým prostředím. Překlad, ladění, prohlížeč událostí.
  2. Úloha 1: VxWorks API: mutexy, semafory.
  3. Úloha 2: VxWorks API: fronty zpráv, časovače
  4. Úloha 3: VxWorks API: procesy, sdílená paměti
  5. Úloha 4: Benchmark latencí rozvrhovače OS.
  6. Úloha 5: Vliv přístupu k paměti na dobu běhu (cache, prefetching, ...)
  7. Úloha 6: Měření latence při komunikaci přes ethernet
  8. Úloha 7: Měření času blokování na mutexu, dědění priorit
  9. Test; zadání úlohy 8 - řízení motorku
  10. Řešení úlohy 8
  11. Řešení úlohy 8
  12. Řešení úlohy 8
  13. Odevzdávání úlohy 8
  14. Zápočet

1. Robbins, K., Robbins, S.: Practical UNIX Programming: A Guide to Concurrency, Communication and Multithreading. Prentice Hall, 1996

2. Liu J. W. S.: Real-Time Systems, Prentice Hall, 2000

3. Burns A., Wellings A.: Real-Time Systems and Programming Languages (Third Edition). Addison Wesley Longmain, 2001.

4. VxWorks manuals (http://www.wrs.com)



Rozvrh předmětu
Po
Út
St
Čt
PřednáškyCvičení