1. Operační systém, historie, koncept (procesy, soubory, systémová volání, shell), struktura OS.
2. Procesy, vlákna, meziprocesová komunikace, souběh, kritická sekce.
3. Meziprocesní komunikace, semafory, monitory, zprávy, sdílená paměť.
4. Plánování procesů - Round-Robin, priority, vícenásobné fronty, RT plánování.
5. Správa paměti OS, využití paměti, virtuální paměť, stránkování, algoritmy výměny stránek.
6. Vstupně výstupní zařízení, obsluha přerušení, ovladače zařízení, vyrovnávací paměti.
7. Zablokování, vznik zablokování, možnosti předcházení zablokování.
8. Souborové systémy - soubory, adresáře, implementace souborového systému.
9. Bezpečnost v operačním systému, bezpečnost procesů, zabezpečení souborů.
10. Selinux: koncepce, řízení přístupu, pravidla, základní příkazy.
11. Virtualizace, principy a úrovně virtualizace, vhodnost použití.
12. RT operační systémy, FreeRTOS pro embeded zařízení.
13. FreeRTOS, základní koncepce programu, vlákna, synchronizace.
14. ROS - Robotický OS, koncepce, uzly, zprávy, témata, příkazy.
Cvičení:
1. Programování v OS Linux, Makefile, IDE,
2. Statické a dynamické knihovny. Využití SSH jako remote shell.
3. Procesy, vytváření procesů, meziprocesní komunikace pomocí rour.
4. Procesy, výměna programu v procesu, přesměrování standardního vstupu a výstupu.
5. Sokety, soketový server, soketový klient.
6. Využívání vláken v procesech.
7. Využití semaforů v meziprocesní komunikaci.
8. Využití sdílené paměti a fronty zpráv v meziprocesní komunikaci.
9. Využívání vláken v procesu a jejich synchronizace.
10. Virtualizace, virtuální počítač, konfigurace, snapshots.
11. Selinux, základní ovládání a nastavení.
12. FreeRTOS, vytváření úloh, ovládání periférií přes GPIO.
13. FreeRTOS, synchroznizace úloh, komunikace s PC.
14. ROS, uzly, příkazy, vytvoření vlastního uzlu.
Projekt:
Implementace vybraného známého IPC problému. Komunikace mezi klienty a serverem bude pomocí soketů.
2. Procesy, vlákna, meziprocesová komunikace, souběh, kritická sekce.
3. Meziprocesní komunikace, semafory, monitory, zprávy, sdílená paměť.
4. Plánování procesů - Round-Robin, priority, vícenásobné fronty, RT plánování.
5. Správa paměti OS, využití paměti, virtuální paměť, stránkování, algoritmy výměny stránek.
6. Vstupně výstupní zařízení, obsluha přerušení, ovladače zařízení, vyrovnávací paměti.
7. Zablokování, vznik zablokování, možnosti předcházení zablokování.
8. Souborové systémy - soubory, adresáře, implementace souborového systému.
9. Bezpečnost v operačním systému, bezpečnost procesů, zabezpečení souborů.
10. Selinux: koncepce, řízení přístupu, pravidla, základní příkazy.
11. Virtualizace, principy a úrovně virtualizace, vhodnost použití.
12. RT operační systémy, FreeRTOS pro embeded zařízení.
13. FreeRTOS, základní koncepce programu, vlákna, synchronizace.
14. ROS - Robotický OS, koncepce, uzly, zprávy, témata, příkazy.
Cvičení:
1. Programování v OS Linux, Makefile, IDE,
2. Statické a dynamické knihovny. Využití SSH jako remote shell.
3. Procesy, vytváření procesů, meziprocesní komunikace pomocí rour.
4. Procesy, výměna programu v procesu, přesměrování standardního vstupu a výstupu.
5. Sokety, soketový server, soketový klient.
6. Využívání vláken v procesech.
7. Využití semaforů v meziprocesní komunikaci.
8. Využití sdílené paměti a fronty zpráv v meziprocesní komunikaci.
9. Využívání vláken v procesu a jejich synchronizace.
10. Virtualizace, virtuální počítač, konfigurace, snapshots.
11. Selinux, základní ovládání a nastavení.
12. FreeRTOS, vytváření úloh, ovládání periférií přes GPIO.
13. FreeRTOS, synchroznizace úloh, komunikace s PC.
14. ROS, uzly, příkazy, vytvoření vlastního uzlu.
Projekt:
Implementace vybraného známého IPC problému. Komunikace mezi klienty a serverem bude pomocí soketů.