Real-time Systems Programming
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BE4B35PSR | Z,ZK | 6 | 2P+2C | anglicky |
- Vztahy:
- Předmět BE4B35PSR může při kontrole studijních plánů nahradit předmět B4B35PSR
- Předmět BE4B35PSR nesmí být zapsán, je-li v témže semestru zapsán anebo již dříve absolvován předmět B4B35PSR (vztah je symetrický)
- Předmět BE4B35PSR může být splněn v zastoupení předmětem B4B35PSR
- Garant předmětu:
- Michal Sojka
- Přednášející:
- Michal Sojka
- Cvičící:
- Jaroslav Klapálek, Michal Sojka
- Předmět zajišťuje:
- katedra řídicí techniky
- Anotace:
-
Cílem tohoto předmětu je poskytnout studentům základní znalosti v oblasti vývoje softwaru pro řídicí či jiné systémy pracující v reálném čase. Hlavní důraz bude kladen na vestavné systémy vybavené některým z operačních systémů reálného času (RTOS). Na přednáškách se studenti seznámí s teorií systémů pracujících v reálném čase, která slouží k formálnímu potvrzení správnosti kritických aplikací. Další část přednášek bude zaměřena na bezpečnostně kritické (safety-critical) aplikace, jejichž selhání může mít katastrofické následky. 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 komponentami 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é se bude řešit složitější úloha - časově náročné řízení modelu, kde bude možno plně využít vlastnosti použitého RTOS. Úlohy na cvičeních se budou řešit v jazyku C.
- Požadavky:
-
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/
- Osnova přednášek:
-
1.Úvod do systémů reálného času, požadavky, vlastnosti, aplikace
2.Operační systém VxWorks
3.POSIX 1003.1b - přenositelné rozhraní operačních systémů reálného času
4.Referenční model systému reálného času
5.Off-line (hodinkami řízené) rozvrhování
6.Rozvrhování se statickou prioritou
7.Rozvrhování s dynamickou prioritou
8.Správa sdílených zdrojů v systémech reálného času
9.Kombinování real-time a běžných úloh
10.Vývoj bezpečnostně-kritického (safety-critical) aplikací, standardy pro funkční bezpečnost, úroveň bezpečnosti (SIL)
11.Techniky pro zvýšení spolehlivosti bezpečnostně kritického softwaru (redundance, kódování, dekompozice)
12.Studie HAZOP, software HAZOP, ukázka aplikace
13.Vícejádrové systémy a reálný čas, přehled RTOS
- Osnova cvičení:
-
1.Základy VxWorks IDE: tvorba aplikaci, simulátor VxWorks, přístup k dokumentaci, ladění
2.VxWorks API: Mutexy, semafory
3.VxWorks API: Real-Time procesy a sdílená paměť
4.Blokování na mutexu, dědění priorit
5.Cyklická exekutiva, měření doby běhu (WCET)
6.Měření latence rozvrhovače
7.Měření latence při komunikaci po Ethernetu
8.Semestrální práce - distribuované řízení motoru v reálném čase (steer-by-wire) + vizualizace pomocí vestavěného web serveru
- Cíle studia:
- Studijní materiály:
-
Buttazzo, Giorgio C, Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Springer, 2011
(knihovna ČVUT má jeden kus, naše katedra také, další pořídíme)
Burns A. and Wellings A.: Real-Time Systems and Programming Languages (Fourth Edition), Ada 2005, Real-Time Java and C/Real-Time POSIX, Addison Wesley Longmain, 2009
(naše katedra má 1 kus)
Redmill F., Morris Ch. et al, System Safety: HAZOP and Software HAZOP, Wiley, April 1999
(naše katedra má 1 kus)
- Poznámka:
- Další informace:
- https://wiki.control.fel.cvut.cz/psr/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Otevřená informatika - Informatika a počítačové vědy 2016 (povinný předmět programu)
- Otevřená informatika - Internet věcí 2016 (povinný předmět programu)
- Otevřená informatika - Software 2016 (povinný předmět programu)
- Otevřená informatika - Počítačové hry a grafika 2016 (povinný předmět programu)
- Otevřená informatika - před rozřazením do oborů (povinný předmět programu)