Detail předmětu
Operační systémy reálného času
FEKT-MRTSAk. rok: 2010/2011
Základní pojmy z oblasti řídicích systémů, systémů reálného času a řízení technologických procesů. HW architektury a multitasking. Princip činnosti systému reálného času (RTOS) a jeho vlastnosti. Plánovací algoritmy pro jednoprocesorové systémy. Základní prvky v RTOS: procesy, vlákna, semafory, mutexy, kritické sekce, události. Další aspekty v RTOS: sdílené prostředky, IPC, synchronizace procesů, monitor procesu, deadlock, inverze priorit, starvation, race condition, správa paměti a zdrojů. Ovládání periférií v I/O prostoru, paměti a na sběrnici PCI. Přerušení v RTOS. Vysoká funkčnost a bezpečnost řídicích systémů reálného času. Operační systém reálného času na bázi Windows - RTX.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Platné přezkoušení pro kvalifikaci pracovníků pro samostatnou činnost (ve smyslu §6 Vyhlášky).
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Závěrečná písemná zkouška: 65 bodů.
Osnovy výuky
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Doporučená literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Princip činnosti řízení ve smyčce, s operačním systémem a s RTOS. Preemptivní a nepreemptivní multitasking.
3. Operační systém Windows jako HMI. Princip fungování Windows. Zprávy, fronty, události. Plánovač procesů ve Windows. Windows GDI a Windows API. Uživatelský vstup/výstup. Souborový systém. Privilegované instrukce. WDM.
4. Popis a princip činnosti RTOS. Struktura a klasifikace RTOS. Plánovací algoritmy. Struktura jádra RTOS, přepínání kontextu. Proces. Vlákno. Synchronizace procesů. Semafory, uváznutí, mutexy, kritické sekce. Výlučný přístup ke sdílenému prostředku. Inverze priorit. Monitor procesu.
5. Popis a princip činnosti RTOS Windows RTX. Struktura jádra RTX. RTX a Windows. API rozhraní RTX. Základní funkce Windows RTX.
6. Rozšířené funkce Windows RTX.
7. Komunikační sběrnice a jejich řešení v systémech reálného času. Průmyslové sběrnice v řídicích aplikacích. Základy činnosti master/slave přístupu ke sběrnici. Arbitr sběrnice. Tokeny. Nedeterministický přístup.
8. Vysoká funkčnost a bezpečnost řídicích systémů reálného času. Fault-Tolerant, Safety-Critical a Fail-safe.
9. Formální metody a postupy při návrhu fault-tolerant řídicích aplikací. Spolehlivost a ukazatelé spolehlivosti. Zálohování. TMR systém. NMR systém.
10. Stavové automaty. Časované stavové automaty. Implementace Mealy a Moore automatů v systémech reálného času. Asynchronní a synchronní komunikace mezi automaty.
11. Bezpečné programování. Nebezpečné konstrukce. WatchDog. Vyjímky a jejich ošetření. Objektově orientované programování a přínos v bezpečnosti a funkčnosti.
12. RT systém na bázi PC versus PLC. Požadavky na řízení v technologických procesech.
Laboratorní cvičení
Vyučující / Lektor
Osnova
2. Nastavení HAL časovače. Nastavení času deadlocku. Nastavení časového kvanta. Převod PCI zařízení z Windows do správy RTX. Vlastnosti RTX PCI zařízení.
3. Převod PCI RTX zařízení zpět do Windows. Převod ISA zařízení z Windows do správy RTX. Vlastnosti RTX ISA zařízení. Převod ISA RTX zařízení zpět do Windows.
4. Základní utility (RTX Properties Control Panel, RTSSrun, RTSSkill, RTSSview, RtxServer). Procesy a vlákna v RTX. Správa paměti. Funkce RtAllocateLockedMemory a RtFreeLockedMemory.
5. Správa procesů. Funkce RtLockProcess a RtUnlockProces. RTX a časovače.
6. RTX funkce pro získání informací o časovačích: RtGetClockTime, RtSetClockTime, RtGetClockResolution a RtGetClockTimerPeriod.
7. Funkce pro práci s časovači: RtCreateTimer, RtDeletTImer, RtCancelTimer, RtSetTimer, RtSetTimerRelative.
8. RTX a sdílená paměť její vytváření, ovládání a rušení: RtCreateSharedMemory, RtOpenSharedMemory.
9. RTX a funkce pro semafory: RtCreateSemaphore a RtOpenSemaphore. RTX a funkce pro ošetření událostí: RtCreteEvent, RtOpenEvent, RtPulseEvent.
10. RTX a funkce pro mutexy: RtCreateMutex, RtReleaseMutex, RtOpenMutex.
11. RTX a funkce ošetřující přerušení: RtAttachInterruptVector, RtReleaseInterruptVector, RtEnableInterrupts, RtDisableInterrupts.
12. RTX a funkce pro operace s porty: RtEnablePortIo, RtDisablePortIo, RtReadPortUchar, RtWritePortUchar.
13. RTX a funkce pro mapování paměti: RtMapMemory, RtUnamMemory. RTX a funkce pro správu sběrnic: RtGetBusDataByOffset, RtTransalateBusAddress, RtSetBusDataByOffset. RTX a dll přístup.