Popis předmětu - B3M35PSR
B3M35PSR | Programování systémů reálného času | ||
---|---|---|---|
Role: | PV, PO | Rozsah výuky: | 2P+2C |
Katedra: | 13135 | Jazyk výuky: | CS |
Garanti: | Sojka M. | Zakončení: | Z,ZK |
Přednášející: | Sojka M. | Kreditů: | 6 |
Cvičící: | Klapálek J., Sojka M. | Semestr: | Z |
Webová stránka:
https://psr.pages.fel.cvut.cz/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.Osnovy 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 |
Osnovy 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 |
Literatura:
Buttazzo, Giorgio C, Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Springer, 2011 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 Redmill F., Morris Ch. et al, System Safety: HAZOP and Software HAZOP, Wiley, April 1999Požadavky:
Zájemce musí zvládat základy programování v jazyce C a programování vícevláknových aplikací. Výhodou (ale ne podmínkou) je absolvování předmětu A0B35APO a B4B35OSY. Stránky předmětu: https://moodle.dce.fel.cvut.cz/Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 6.12.2024 17:50:34, semestry: Z/2025-6, Z,L/2024-5, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |