Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2 značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
NI-OSY | Operační systémy a systémové programování | Rozsah kontaktní výuky: | 2P+1C | ||
---|---|---|---|---|---|
Vyučující: | Zemánek P. | Způsob zakončení: | Z,ZK | ||
Zodpovědná katedra: | 18104 | ECTS Kredity: | 5 | Semestr: | Z |
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.
Osnovy 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 |
Osnovy 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.
Literatura:
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 |
Požadavky:
|
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 23. 4. 2024, semestry: L/2023-4, Z/2022-3, L/2019-20, L/2021-2, Z/2024-5, L/2020-1, Z/2021-2, Z/2023-4, Z/2020-1, Z/2019-20, L/2022-3, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: J. Novák, I. Halaška |