Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2026/2027

Advanced Operating Systems

Zobrazit rozvrh
Kód Zakončení Kredity (ECTS) Rozsah Jazyk výuky
NIE-AOS Z,ZK 5 2P+1C anglicky
Garant předmětu:
Petr Zemánek
Přednášející:
Petr Zemánek
Cvičící:
Tomáš Martinec, Petr Zemánek
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:

Znalost programovacího jazyka C, znalost architektury operačních systémů (na úrovni předmětu BI-OSY).

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. Nástroje pro vývoj jádra, odstraňování problémů (troubleshooting) při vývoji jádra.

5. Ladění výkonu (jádra) operačního systému LINUX (performance tuning).

6. Správa souborového systému, virtuální souborový systém, pokročilá správa souborového systému.

7. Adresní prostor procesů, podpora jádra pro správu paměti.

8. Vrstva závislá na architektuře, zavádění jádra, modely zařízení, fáze spouštění systému Linux.

9. Infrastruktura pro kontejnerizaci v jádře Linuxu - jmenné prostory, cgroups.

10. Podpora virtualizace - virtuální správce jádra (KVM).

11. Vestavěný, bezpečný a real-time Linux.

12. SUSE - případová studie reálného vývoje jádra.

13. Rezerva.

Osnova cvičení:

1/ Architektura jádra operačního systému LINUX, vývojové prostředí jádra (nástroje pro vývoj jádra), práce s moduly jádra

2/ Systémová volání a jejich implementace, zpracování přerušení, implementace ovladačů znakových zařízení, práce s procesy

3/ Odložené akce (deferred work), implementace ovladačů blokových zařízení

4/ Implementace systémů souborů

5/ Case study - ovladače v PikeOS

6/ Model zařízení v OS LINUX, ladění jádra, bootování OS LINUX

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 angličtině.

Další informace:
https://courses.fit.cvut.cz/NIE-AOS/index.html
Rozvrh na zimní semestr 2026/2027:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
St
Čt
Pá
místnost TH:A-949
Zemánek P.
11:00–12:30
(přednášková par. 1)
Thákurova 7 (budova FSv)
KSI konzultacni mistnost
místnost T9:350
Martinec T.
14:30–16:00
LICHÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT PC ucebna
Rozvrh na letní semestr 2026/2027:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 16. 10. 2026
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8593606.html