Pokročilé operační systémy
| Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
|---|---|---|---|---|
| NI-AOS | Z,ZK | 5 | 2P+2C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Předmět se zabývá problematikou systémového programování v operačních systémech unixového typu se zaměřením na vývoj jádra OS a pokročilými technologiemi pro správu unixových operačních systémů. Studenti se seznámí s architekturou a datovými strukturami jádra OS, se správou procesů a hlavní paměti, s vnitřní architekturou moderních systémů souborů, s implementacemi metod ovládání periferních zařízení a síťové komunikace, s metodami bootování jádra i vlastního operačního systému a s technikami ladění jádra pomocí dynamické instrumentace. Dále získají znalosti o postupech při vývoji a modifikacích jádra OS a zajištění přenositelnosti jádra a o využívání technologií kontejnerizace a virtualizace. Studenti se seznámí se specifikami implementace jádra OS pro vestavné systémy či pro systémy reálného času. Teoretické a obecné principy budou demonstrovány primárně na jádru Linuxu. Cvičení budou zaměřena na vývoj modulů jádra Linuxu a na nástroje pro správu probraných technologií.
- Požadavky:
- Osnova přednášek:
-
1. Úvod do architektury jádra Linuxu, systémová volání a jejich implementace.
2. Přerušení a odložená práce, návrh ovladačů zařízení.
3. Správa procesů a vláken v jádře, synchronizační mechanismy jádra.
4. + 5. (2) Ladění jádra, nástroje pro vývoj jádra, odstraňování problémů a ladění výkonu.
6. Správa souborového systému, virtuální souborový systém, pokročilá správa souborového systému.
7. Správa sítě jako modul jádra, nástroje pro správu sítě a řešení problémů.
8. Adresní prostor procesů, podpora jádra pro správu paměti.
9. Vrstva závislá na architektuře, zavádění jádra, modely zařízení, fáze spouštění systému Linux.
10. Infrastruktura pro kontejnerizaci v jádře Linuxu - jmenné prostory, cgroups.
11. Podpora virtualizace - virtuální správce jádra (KVM).
12. Vestavěný, bezpečný a real-time Linux.
13. SUSE - případová studie reálného vývoje jádra.
- Osnova cvičení:
-
bude doplněno
- Cíle studia:
-
Předmět se zabývá problematikou systémového programování v operačních systémech unixového typu se zaměřením na vývoj jádra OS a pokročilými technologiemi pro správu unixových operačních systémů. Studenti se seznámí s architekturou a datovými strukturami jádra OS, se správou procesů a hlavní paměti, s vnitřní architekturou moderních systémů souborů, s implementacemi metod ovládání periferních zařízení a síťové komunikace, s metodami bootování jádra i vlastního operačního systému a s technikami ladění jádra pomocí dynamické instrumentace. Dále získají znalosti o postupech při vývoji a modifikacích jádra OS a zajištění přenositelnosti jádra a o využívání technologií kontejnerizace a virtualizace. Studenti se seznámí se specifikami implementace jádra OS pro vestavné systémy či pro systémy reálného času. Teoretické a obecné principy budou demonstrovány primárně na jádru Linuxu. Cvičení budou zaměřena na vývoj modulů jádra Linuxu a na nástroje pro správu probraných technologií.
- Studijní materiály:
-
1. Billimoria, K.N.: Linux Kernel Programming: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization (2nd Edition). ISBN 978-1803232225.
2. Arpaci-Dusseau, R.H. - Arpaci-Dusseau, A.C.: Operating Systems: Three Easy Pieces. Arpaci-Dusseau Books, 2023. ISBN 978-1985086593.
3. Madieu, J.: Linux Device Driver Development: Everything you need to start with device driver development for Linux kernel and embedded Linux. Packt Publishing, 2022. ISBN 978-1803240060.
4. Stevens, W.R. - Rago. S.A: Advanced Programming in the UNIX Environment. Addison-Wesley, 2018. ISBN 978-0321637734.
5. Nemeth, E. - Snyder, S. - Hein, T.R. - Whaley, B. - Mackin, D.: UNIX and Linux System Administration Handbook (5th Edition). Addison-Wesley, 2017. ISBN 978-0134277554.
- Poznámka:
-
Předmět je vyučován v češtině.
- Další informace:
- bude doplněno
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Počítačová bezpečnost, 2026 (VO)
- Mgr. specializace Počítačové systémy a sítě, 2026 (PS)
- Mgr. specializace Teoretická informatika, 2026 (VO)
- Mgr. specializace Programovací jazyky, 2026 (VO)
- Mgr. specializace Umělá inteligence, 2026 (VO)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2026 a vyšší (VO)
- Master programme, for the phase of study without specialisation, ver. for 2026 and higher (VO)