Operační systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
B4B35OSY | Z,ZK | 4 | 2P+2C | česky |
- Garant předmětu:
- Michal Sojka
- Přednášející:
- Michal Sojka, Petr Štěpán
- Cvičící:
- Jan Chudoba, Matěj Kafka, Lukáš Maruniak, Michal Sojka, Petr Štěpán, Jiří Vlasák, Jiří Záhora
- Předmět zajišťuje:
- katedra řídicí techniky
- Anotace:
-
Student se seznámí se základními koncepty a principy operačních systémů, jako jsou procesy a vlákna, jejich komunikace a plánování, synchronizační prostředky, virtuální paměť, správa periferií, souborové systémy či základní otázky bezpečnosti. Na přednáškách budou tato témata probrána teoreticky s odkazy na implementace převážně v OS Linux a Windows. Od začátku budou uvažovány platformy s vícejádrovými procesory. Na cvičeních budou studenti vypracovávat úlohy v jazyce C, C++ nebo Rust a budou pracovat s operačními systémy Linux a NOVA (mikrojádro).
- Požadavky:
-
programovaní C
architektury počítačů
- Osnova přednášek:
-
1. Architektura počítače, historie a typy OS, komponenty OS.
2. Obsluha přerušení a vyjímek. Systémová volání.
3. Procesy, vlákna, přepínání kontextu, rozvrhování (plánování), lokální vs. globalní plánování, migrace vláken.
4. Synchronizace, časově závislé chyby, přístup ke sdíleným zdrojům (nepreemptivní sekce, semafory, mutexy, spinlocky, Java synchronize), uváznutí.
5. Meziprocesní komunikace (signály, roury, předávání zpráv)
6. Virtuální paměť, výpadky stránek, odkládání, copy-on-write, spouštění procesů, relokace, dynamické knihovny.
7. Správa paměti, paměťové alokátory (v jádře a uživatelském prostoru, halda).
8. Bezpečnost (security), trusted computing base, buffer overflow, ASLR, antiviry, šifrování.
9. Vstup/výstup, ukládání dat, síťová rozhraní, USB, HID, ovladače zařízení (Linux, Win).
10. Souborové systémy, žurnálování, integrita dat, disková vyrovnávací paměť.
11. Grafický subsystém, trame buffer, HW akcelerace, paralelní výpočty.
12.Virtualizace.
13. Mobilní OS, struktura OS Android a jeho aplikací, spolupráce s cloudovými službami
14. Duševní vlastnictví a jeho ochrana, open source softwarové licence, ekonomické aspekty využití open source
- Osnova cvičení:
-
1. Úvod, shell, opakování programování v C, makefile praktický vstupní test
2. Základy používání shellu, skriptování.
3. Systémová volání - Linux (assembler, C)
4. Systémová volání - na mikrojádře NOVA
5. Synchronizace v C - úloha na vlákna a synchronizaci (Linux)
6. Úloha na IPC (roura mezi vlákny, obsluha signálů, Linux)
7. Zavedení ELF souboru do paměti a spuštění (NOVA)
8. Přepínání vláken (NOVA)
9. Semafor, preemptivní multitasking (NOVA)
10. Bezpečnost, buffer overflow exploit (Linux)
11. Alokace paměti (halda, Linux)
12. Implementace souborového systému (NOVA)
13. Odevzdání souborového systému, zápočet.
- Cíle studia:
- Studijní materiály:
-
1. TANENBAUM, Andrew S a Albert S WOODHULL. Operating systems design and implementation. 3rd ed. Upper Saddle River: Prentice-Hall, c2006, xvii, 1054 s. ISBN 0131429388.
- Poznámka:
- Další informace:
- https://osy.pages.fel.cvut.cz/
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Otevřená informatika - Informatika a počítačové vědy 2016 (povinný předmět programu)
- Otevřená informatika - Internet věcí 2016 (povinný předmět programu)
- Otevřená informatika - Software 2016 (povinný předmět programu)
- Otevřená informatika - Počítačové hry a grafika 2016 (povinný předmět programu)
- Otevřená informatika - před rozřazením do oborů (povinný předmět programu)
- Otevřená informatika - před rozřazením do specializací (povinný předmět programu)
- Otevřená informatika - Základy umělé inteligence a počítačových věd 2018 (povinný předmět programu)
- Otevřená informatika - Internet věcí 2018 (povinný předmět programu)
- Otevřená informatika - Software 2018 (povinný předmět programu)
- Otevřená informatika - Počítačové hry a grafika 2018 (povinný předmět programu)