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

Operační systémy a systémové programování

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
NI-OSY Z,ZK 5 2P+1C česky
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. Studenti se seznámí s architekturou a datovými strukturami jádra OS, s programováním algoritmů pro správu procesů a správu 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 a s technikami ladění jádra pomocí dynamické instrumentace. Získají znalosti o postupech při vývoji a modifikacích jádra OS a zajištění přenositelnosti jádra. Seznámí se se specifikami implementace jádra OS pro vestavné či 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 OS Linux.

Požadavky:
Osnova přednášek:

1) Architektura jádra operačního systému a nástroje pro vývoj jádra

2) Systémová volání a jejich implementace

3) Moduly jádra pro správu procesů a vláken

4) Přerušení, časovače a správa reálného času

5) Synchronizačni mechanismy v jádře, symetrický multiprocessing

6) Adresní prostor procesu, memory management

7) Implementace moderních systémů souborů, virtualizace diskového prostoru

8) Ladění jádra a přenositelnost jádra

9) Implementace sítových služeb v jádře

10) Subsytémy jádra závislé na HW architektuře, zavádění jádra

11) Implementace virtualizace (kvm)

12) Jádro OS pro vestavné systémy

Osnova cvičení:

Obsahem cvičení bude práce na semestrálním projektu, jehož cílem bude vývoj vybraného modulu jádra, schopného fungovat v reálném prostředí Linuxu.

Cíle studia:

Cílem předmětu je seznámit studenty s principy konstrukce a s architekturou jádra moderního operačního systému a s příslušnými datovými strukturami a algoritmy do takové míry, že se budou schopni podílet na vývoji modulů jádra operačního systému, např. plánovače vláken, alokátoru paměti, systému souboru, apod. s vyuzitím moderních metod dynamické instrumentace.

Studijní materiály:

1) Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau: Operating Systems: Three Easy Pieces © Arpaci-Dusseau Books August, 2018 (Version 1.00) or July, 2019 (Version 1.01) http://www.ostep.org

2) Love, R.: Linux Kernel Development (3rd edition). Pearson Education 2010. ISBN: 978-0-672-32946-3

3) Wang, K.C.: Embedded and Real-Time Operating Systems. Springer 2017. ISBN 978-3-319-51516-8

Poznámka:

Tento předmět obsahově navazuje na bakalářský předmět BI-OSY Operační systémy.

Další informace:
https://courses.fit.cvut.cz/NI-OSY/
Rozvrh na zimní semestr 2024/2025:
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

místnost T9:303
Zemánek P.
09:15–10:45
(přednášková par. 1)
Dejvice
NBFIT PC ucebna
místnost T9:303
Martinec T.
11:00–12:30
LICHÝ TÝDEN

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

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