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

Operační systémy

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-OSY.21 Z,ZK 5 2P+1R+1L česky
Garant předmětu:
Michal Štepanovský
Přednášející:
Michal Štepanovský, Jan Trdlička, Pavel Tvrdík
Cvičící:
Jiří Kašpar, Michal Štepanovský, Jan Trdlička, Pavel Tvrdík, Ladislav Vagner, Petr Zemánek
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:
Další informace:
https://courses.fit.cvut.cz/BI-OSY/
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ů:
Platnost dat k 4. 12. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6692306.html