Přednášky:
• Základní funkce operačních systémů. Požadavky na reálný čas a jeho využití v řídicích systémech. Srovnání s operačními systémy pro běžné použití.
• Základní pojmy. Tvrdý a měkký reálný čas. Paralelismus a jeho řešení na různých hardwarových platformách. Preemptivní a kooperativní multitasking.
• Procesy a vlákna. Srovnání různých modelů využitých v operačních systémech reálného času.
• Jádro operačního systému reálného času. Mikrojádro, monolitické a hybridní jádro.
• Problematika výběru operačního systému pro řídicí aplikaci.
• Přehled operačních systémů reálného času. QNX. Linux a jeho real-time rozšíření. FreeRTOS.
• Synchronizace procesů a událostí v operačním systému reálného času. Zajištění splnění časových podmínek. Plánování procesů.
• Synchronní a asynchronní komunikace mezi procesu. Zprávy, signály.
• Řízení sdílených prostředků. Postupová cesta. Mutex, semafor a další nástroje.
• Způsoby správy paměti vhodné pro úlohy reálného času. Pevné a dynamické přidělování paměti. Fragmentace a setřásání paměti.
• Obsluha přerušení a komunikace s periferií. Ovladače zařízení pro operační systém reálného času.
• Souborové systémy a jejich srovnání se standartními operačními systémy. Mechanizmy ochrany souborů.
• Standard POSIX pro operační systémy reálného času. Rozšíření Windows o zpracování v reálném čase.
• Perspektivy rozvoje operačních systémů pro práci v reálném čase. Fault tolerant systémy. Programovací jazyky.
Projekty:
• Projekt č. 1 – Implementace řídicího software pro platformu Raspberry Pi (případně minipočítačů s operačním systémem reálného času). Projekt je řešen v týmech a spočívá v propojení hardwarových periférií a jejich řízení v reálném čase.
Počítačové laboratoře:
• Praktické seznámení s architekturou operačního systému reálného času.
• Zadání projektu 1. Základy práce v terminálu.
• Základy práce ve vývojovém prostředí pro aplikace reálného času.
• Procesy a vlákna.
• Plánování procesů a vláken.
• Synchronizace a komunikace procesů.
• Obsluha přerušení v aplikaci reálného času.
• Řízení paměti.
• Realizace jednoduchého ovladače pro operační systém reálného času.
• Využití prostředků operačního systému pro běh aplikací reálného času.
• Zpracování semestrální úlohy.
• Prezentace projektu 1.
• Zápočtový test.
• Zápočet.
• Základní funkce operačních systémů. Požadavky na reálný čas a jeho využití v řídicích systémech. Srovnání s operačními systémy pro běžné použití.
• Základní pojmy. Tvrdý a měkký reálný čas. Paralelismus a jeho řešení na různých hardwarových platformách. Preemptivní a kooperativní multitasking.
• Procesy a vlákna. Srovnání různých modelů využitých v operačních systémech reálného času.
• Jádro operačního systému reálného času. Mikrojádro, monolitické a hybridní jádro.
• Problematika výběru operačního systému pro řídicí aplikaci.
• Přehled operačních systémů reálného času. QNX. Linux a jeho real-time rozšíření. FreeRTOS.
• Synchronizace procesů a událostí v operačním systému reálného času. Zajištění splnění časových podmínek. Plánování procesů.
• Synchronní a asynchronní komunikace mezi procesu. Zprávy, signály.
• Řízení sdílených prostředků. Postupová cesta. Mutex, semafor a další nástroje.
• Způsoby správy paměti vhodné pro úlohy reálného času. Pevné a dynamické přidělování paměti. Fragmentace a setřásání paměti.
• Obsluha přerušení a komunikace s periferií. Ovladače zařízení pro operační systém reálného času.
• Souborové systémy a jejich srovnání se standartními operačními systémy. Mechanizmy ochrany souborů.
• Standard POSIX pro operační systémy reálného času. Rozšíření Windows o zpracování v reálném čase.
• Perspektivy rozvoje operačních systémů pro práci v reálném čase. Fault tolerant systémy. Programovací jazyky.
Projekty:
• Projekt č. 1 – Implementace řídicího software pro platformu Raspberry Pi (případně minipočítačů s operačním systémem reálného času). Projekt je řešen v týmech a spočívá v propojení hardwarových periférií a jejich řízení v reálném čase.
Počítačové laboratoře:
• Praktické seznámení s architekturou operačního systému reálného času.
• Zadání projektu 1. Základy práce v terminálu.
• Základy práce ve vývojovém prostředí pro aplikace reálného času.
• Procesy a vlákna.
• Plánování procesů a vláken.
• Synchronizace a komunikace procesů.
• Obsluha přerušení v aplikaci reálného času.
• Řízení paměti.
• Realizace jednoduchého ovladače pro operační systém reálného času.
• Využití prostředků operačního systému pro běh aplikací reálného času.
• Zpracování semestrální úlohy.
• Prezentace projektu 1.
• Zápočtový test.
• Zápočet.