Přeskočit na hlavní obsah
Přeskočit hlavičku

Implementace v operačních systémech

Typ studia navazující magisterské
Jazyk výuky čeština
Kód 460-4158/01
Zkratka IvOS
Název předmětu česky Implementace v operačních systémech
Název předmětu anglicky Implementation in Operating Systems
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Mgr. Ing. Michal Krumnikl, Ph.D.

Osnova předmětu

Přednášky
- Architektura operačních systémů, charakteristika mobilních a embedded systémů.
- Vnitřní struktura operačních systémů, implementace systémových volání a modulů.
- Implementace správy procesů, souběžné zpracování. Práce se signály a jejich zpracování.
- Vlastnosti plánovačů procesů, jejich nastavování, real-time (RT) procesy.
- Power management, techniky úspory a plánování spotřeby energie.
- Implementace ovladačů zařízení, komunikace s periferiemi.
- Správa paměti, implementace mechanismů správy paměti (alokace, stránkování, segmentace)
- I/O operace synchronní a asynchronní; blokující vs. neblokující režim.
- Souborové systémy. Základní vlastnosti; žurnálovací souborové systémy a systémy pro flash paměti.
- Implementace uživatelských souborových systémů a jejich zasazení do user-space.

Cvičení (na PC učebně)
- Funkce select a poll, blokující a neblokující I/O komunikace.
- Sockety, způsoby nastavování jejich chování a vlastností.
- Správa paměti – implementace jednoduchého alokátoru (malloc/free) nad lineárním blokem paměti.
- Stránkování a práce se stránkovou tabulkou – simulace překladů adres.
- Vícevláknový server s meziprocesní/vláknovou synchronizací.
- Implementace vlastního plánovače procesů s prioritami a prevenci hladovění procesů.
- Monitorování běhu plánovačů Round-robin (RR) a Lottery Scheduling (LS), jejich srovnání.
- Procesy, signály a jejich zachycení a maskování.
- Implementace jednoduchého souborového systému (FS) v režimu read-only.
- Rozšíření implementace FS o zápis, formátování a případnou kontrolu konzistence.
- Sledování datových toků I/O zařízení a síťových rozhraní.

Povinná literatura

[1] TANENBAUM, Andrew a BOS, Herbert. Modern Operating Systems, Global Edition. Pearson, 2023. ISBN 1292459662 .
[2] SILBERSCHATZ, Abraham; PETER B. GALVIN a GAGNE, Greg. Silberschatz's Operating System Concepts. Wiley Global Education, 2020. ISBN 9781119455875 .
[3] STEVENS, W. Richard a RAGO, Stephen A. Advanced programming in the UNIX environment. 3rd ed., Upper Saddle River: Addison-Wesley, [2013]. ISBN 978-0-321-63773-4 .
[4] LOVE, Robert, Linux System Programming: Talking Directly to the Kernel and C Library. 2nd ed., O'Reilly Media, [2013]. ISBN 978-1-449-33953-1 

Doporučená literatura

[1] TANENBAUM, Andrew S. a WOODHULL, Albert S. Operating systems: design and implementation. 3rd ed., The Minix book. Upper Saddle River, N.J.: Pearson Prentice Hall, [2009]. ISBN 978-0-13-505376-8 .
[2] FOX, Richard. Linux with operating system concepts. Second edition. Boca Raton: CRC Press, Taylor & Francis Group, 2022. ISBN 978-1-032-06345-4 .