Detail předmětu
Pokročilé operační systémy
FIT-POSAk. rok: 2024/2025
Základní pojmy, jádro operačního systému a jeho struktura. Problematika paralelního programování a synchronizace se zaměřením na synchronizaci v jádře operačních systémů. Uváznutí, metody detekce a prevence. Plánovací algoritmy pro jednoprocesorové systémy. Správa paměti, virtuální paměť, stránkování, implementace virtuální paměti. Vstup a výstup, synchronní a asynchronní operace, ovladače, optimalizace diskových operací. Systémy souborů, metody přidělování diskového prostoru, organizace metadat, odolnost vůči výpadku, příklady systémů souborů. Bezpečnost a ochrana dat.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
V průběhu semestru online testy a projektem. Projekt musí být odevzdán do zveřejněného data, pozdní odevzdání projektu je hodnoceno 0 body.
Znalosti studentů jsou ověřovány vypracováním projektů, online testy a závěrečnou zkouškou.
Učební cíle
Schopnost navrhovat paralelní programy s vlákny POSIX 1003.1, znalost použití synchronizačních nástrojů, virtuální paměti a systémů souborů.
Hlubší znalosti funkce výpočetních systémů a systémového programování.
Prerekvizity a korekvizity
- doporučená prerekvizita
Hardware/Software Codesign
Doporučená literatura
McKusick, M.K., Neville-Neil, G.V.: The Design and Implementation of the FreeBSD Operating System, Addison-Wesley, 2004, ISBN 0-201-70245-2
Nutt, G.J.: Operating Systems: A Modern Perspective, Addison-Wesley, 2000, ISBN 0-201-61251-8
Schimmel, K.: UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, Addison-Wesley, 1994, ISBN 0-201-63338-8
Stevens, W.,R.: Advanced Programming in the UNIX Environment: Third Edition, Addison-Wesley Professional, 2013, ISBN 0-321-63773-9
Vahalia, U.: Unix Internals: The New Frontiers, Prentice-Hall, 1996, ISBN 0-13-101908-2
Elearning
Zařazení předmětu ve studijních plánech
- Program MITAI magisterský navazující
specializace NGRI , 0 ročník, letní semestr, volitelný
specializace NADE , 0 ročník, letní semestr, volitelný
specializace NISD , 0 ročník, letní semestr, volitelný
specializace NMAT , 0 ročník, letní semestr, volitelný
specializace NSEC , 0 ročník, letní semestr, volitelný
specializace NISY do 2020/21 , 0 ročník, letní semestr, volitelný
specializace NNET , 0 ročník, letní semestr, volitelný
specializace NMAL , 0 ročník, letní semestr, volitelný
specializace NCPS , 0 ročník, letní semestr, volitelný
specializace NHPC , 0 ročník, letní semestr, volitelný
specializace NVER , 0 ročník, letní semestr, volitelný
specializace NIDE , 0 ročník, letní semestr, volitelný
specializace NISY , 0 ročník, letní semestr, volitelný
specializace NEMB do 2023/24 , 0 ročník, letní semestr, volitelný
specializace NSPE , 0 ročník, letní semestr, volitelný
specializace NEMB , 0 ročník, letní semestr, volitelný
specializace NBIO , 0 ročník, letní semestr, volitelný
specializace NSEN , 0 ročník, letní semestr, volitelný
specializace NVIZ , 0 ročník, letní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Struktura jádra, rozhraní jádra, volání jádra a přepínání kontextu. Rozhraní systémů Unix, postup standardizace a standardy XPG, POSIX a ISO. Virtualizace a kontejnerizace.
- Procesy a vlákna dle standardu POSIX 1003.1, vytváření procesů a vláken, implementace vláken.
- Úvod do paralelního programování, synchronizace a prostředky synchronizace, paměťové modely. Implementace vzájemného vyloučení atomickými operacemi čtení a zápisu.
- Metody synchronizace speciálními atomickými instrukcemi v jednoprocesorových a víceprocesorových systémech se sdílenou pamětí, binární semafory, inverze priority.
- Synchronizační nástroje a jazykové konstrukce, klasické synchronizační úlohy.
- Plánování procesoru, strategie a implementace, plánovací algoritmy pro jednoprocesorové a víceprocesorové systémy.
- Přidělování prostředků, uváznutí, detekce uváznutí a vyhnutí se uváznutí pro SR a CR prostředky.
- Správa paměti, organizace paměti, stránkování, tabulka stránek a TLB.
- Virtuální paměť, stránkovací algoritmus, nahrazovací algoritmy pro pevný a proměnný počet rámců.
- Implementace virtuální paměti a problematika použití virtuální paměti - lokalita, zamykání stránek, sdílení stránek, dynamické knihovny, virtualizace souborů, paměťové nároky jádra.
- Vstup a výstup, ovladače, synchronní a asynchronní V/V, optimalizace diskových operací.
- Systémy souborů, organizace, přidělování diskového prostoru, ochrana, zotavení, systémy souborů Unix UFS, BSD FFS, Linux EXT, Solaris ZFS a žurnálové systémy souborů.
- Ochrana a bezpečnost, ochrana dat, bezpečnostní rizika.
Projekt
Vyučující / Lektor
Osnova
Samostatně zadaný projekt v rozsahu 13 hod. hodnocený 10 body na probíraná témata z přednášek.
Elearning