Operační systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-OSY | Z,ZK | 5 | 2P+1R+1L | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Studenti si rozšíří základní znalosti z předmětu „Programování v shellu 1“ 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í prostředků a uváznutí, správa virtuální paměti, disků a diskových polí, a implementace systémů souborů. Naučí se navrhovat a realizovat jednoduché vícevláknové aplikace.
- 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.
- 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.
- Studijní materiály:
-
1. Tanenbaum, A. S. ''Modern Operating Systems (2nd Edition)''. Prentice Hall, 2001. ISBN 0130313580.
2. Stallings, W. ''Operating Systems: Internals and Design Principles (5th Edition)''. Prentice Hall, 2004. ISBN 0131479547.
3. Silberschatz, A., Galvin, P. B., Gagne, G. ''Operating System Concepts (7th Edition)''. Wiley, 2004. ISBN 0471694665.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-OSY/
- Další informace:
- https://courses.fit.cvut.cz/BI-OSY/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Bc. program Informatika, pro fázi studia bez oboru, 2015-2020 (povinný předmět programu)
- Bc. obor Bezpečnost a informační technologie, 2015-2020 (povinný předmět programu)
- Bc. obor Teoretická informatika, 2015-2020 (povinný předmět programu)
- Bc. obor Počítačové inženýrství, 2015-2020 (povinný předmět programu)
- Bc. obor Informační systémy a management, 2015-2020 (povinný předmět programu)
- Bc. obor Webové a softwarové inženýrství, zaměření Softwarové inženýrství, 2015-2020 (povinný předmět programu)
- Bc. obor Webové a softwarové inženýrství, zaměření Webové inženýrství, 2015-2020 (povinný předmět programu)
- Bc. obor Webové a softwarové inženýrství, zaměření Počítačová grafika, 2015-2020 (povinný předmět programu)
- Bc. obor Znalostní inženýrství, 2018-2020 (povinný předmět programu)