Operační systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-OSY.21 | Z,ZK | 5 | 14KP+4KC | česky |
- Garant předmětu:
- Michal Šoch
- Přednášející:
- Michal Šoch, Jan Trdlička, Pavel Tvrdík
- Cvičící:
- Michal Šoch, Jan Trdlička, Pavel Tvrdík
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
V tomto předmětu, který navazuje na předmět Unixové operační systémy, si studenti prohloubí své znalosti v oblastech jádra OS, implementace procesů a vláken, časově závislých chyb, kritických sekcí, plánování vláken, přidělování sdílených prostředků a uváznutí, správy virtuální paměti a datových úložišť, implementace systémů souborů, monitorování OS. Naučí se navrhovat a realizovat jednoduché vícevláknové aplikace. Obecné principy jsou ilustrovány na operačních systémech Solaris, Linux nebo MS Windows.
- Požadavky:
-
Základní uživatelské znalosti z OS. Základní znalost programování v jazyce C/C++.
- Osnova přednášek:
-
1. Úvod, architektura a funkce OS, klasifikace výpočetních systémů.
2. Procesy a vlákna. Přepínání kontextu, stavy vláken. Časově závislé chyby.
3. Synchronizace vláken - kritické sekce, aktivní čekání, zámky, semafory, podmíněné proměnné, synchronizační problém producent-konzument, synchronizační bariéry.
4. Klasické synchronizační úlohy a jejich řešení.
5. Přidělování výpočetních prostředků - uváznutí, Coffmanovy podmínky, strategie pro řešení uváznutí.
6. Implementace procesů/vláken. Plánování vláken.
7. Správa hlavní paměti - virtuální paměť, metody přidělování paměti pomocí dynamických oblastí.
8. Správa hlavní paměti - virtuální paměť implementovaná pomocí stránkování a segmentace.
9. Správa hlavní paměti - algoritmy pro náhradu stránek.
10. Datová úložiště - disky, disková pole RAID, připojení k počítačovému systému.
11. Systémy souborů - implementace klasických systémů souborů.
12. Systémy souborů - implementace v jádru OS, moderní systémy souborů a jejich pokročilé funkce.
13. Nástroje pro monitorování OS.
- Osnova cvičení:
-
1. Systémová volaní a vlákna.
2. Synchronizace vláken I. (mutex, podmíněné proměnné).
3. Synchronizace vláken II (semafory, bariéry).
4. Procesy (fork(), exec(),...).
5. Uváznutí a správa paměti.
6. Algoritmy pro náhradu stránek.
- Cíle studia:
-
Předmět je úvodem do klasické teorie operačních systémů (OS). Jeho cílem je naučit studenty základní teorii a pojmy z operačních systémů a naučit je prakticky využívat při návrhu a správě OS. Po absolvování předmětu budou studenti schopni navrhovat a implementovat vícevláknové aplikace.
- Studijní materiály:
-
1. Tanenbaum A. S. : Modern Operating Systems (4th Edition). Pearson, 2016. ISBN 978-0133591620.
2. Silberschatz A., Gagne G., Galvin P.B. : Operating System Concepts (10th Edition). Wiley, 2018. ISBN 978-1119456339.
3. Anderson T., Dahlin M. : Operating Systems: Principles and Practice (2nd Edition). Recursive Books, 2014. ISBN 978-0985673529.
4. Stallings W. : Operating Systems: Internals and Design Principles (9th Edition). Pearson, 2017. ISBN 978-0134670959.
5. Arpaci-Dusseau R.H., Arpaci-Dusseau A.C. : Operating Systems: Three Easy Pieces. CreateSpace Independent Publishing Platform, 2018. ISBN 978-1985086593.
- Poznámka:
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, kombi., 2021 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, kombi., 2021 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, kombi., 2021 (povinný předmět programu)