Detail předmětu
Operační systémy 2
OS2 Ak. rok 2004/2005 letní semestr 6 kreditů
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.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 8 hod. pc laboratoře
- 18 hod. projekty
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Návrh paralelních programů s vlákny POSIX 1003.1, znalost použití synchronizačních nástrojů, virtuální paměti a programové rozhraní systému souborů.
Cíle předmětu
Seznámit s principy a mechanismy na nichž jsou založena jádra moderních operačních systémů.
Požadované prerekvizitní znalosti a dovednosti
Nejsou žádné prerekvizity.
Literatura studijní
- Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
- Raymond, E.S.: The Art of Unix Programming
- Open Sources: Voices from the Open Source Revolution
Literatura referenční
- Bic, L.: The Logical Design of Operating Systems, Prentice-Hall, 1988, ISBN 0-13-540139-9
- Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000, ISBN 0-201-35752-6
- Nutt, G.J.: Operating Systems: A Modern Perspective, Addison-Wesley, 2000, ISBN 0-201-61251-8
- Stevens, R.,W.: Advanced Programming in The Unix Environment, Addison-Wesley, 1992, ISBN 0-201-56317-7
- Vahalia, U.: Unix Internals: The New Frontiers, Prentice-Hall, 1996, ISBN 0-13-101908-2
- McKusick, M.K., Bostic, K., Karels, M.,J., Quaterman, J.S.: The Design and Implementation of the 4.4BSD Operating System, Addison-Wesley, 1996, ISBN 0-201-54979-4
- Schimmel, K.: UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, Addison-Wesley, 1994, ISBN 0-201-63338-8
- Butenhof, D.R.: Programming with POSIX Threads, Addison-Wesley, 1997, ISBN 0-201-63392-2
- Tannenbaum, A.S.: The Modern Operating Systems, Prentice-Hall, 2001, ISBN 0-13-031358-0
Osnova přednášek
- Struktura jádra, rozhraní jádra, volání jádra a přepínání kontextu.
- Rozhraní systému, rozhraní Unixu, standardizace, standardy SVID, XPG, POSIX, ISO.
- Procesy a vlákna dle standardu POSIX 1003.1, vytváření procesů a vláken, implementace vláken.
- Paralelní programování, synchronizace a prostředky synchronizace. Implementace synchronizace atomickými operacemi čtení a zápis.
- Metody synchronizace speciálními atomickými instrukcemi v jednoprocesorových a víceprocesorových systémech, inverze priority a řešení.
- Synchronizační nástroje a jazykové konstrukce, klasické synchronizační úlohy a příklady řešení.
- Plánování procesoru, strategie a implementace, plánovací algoritmy pro jednoprocesorové 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ů.
- Implemetace virtuální paměti a problematika použití virtuální paměti.
- Vstup a výstup, ovladače, synchronní a asynchronní V/V, optimalizace diskových operací.
- Systémy souborů, organizace a struktura, přidělování diskového prostoru, ochrana, zotavení, systémy souborů Unix, BSD FFS, žurnálové systémy souborů.
- Ochrana a bezpečnost, ochrana dat, bezpečnostní rizika.
Osnova počítačových cvičení
- Programátorské prostředí Unix - gcc, ld, gdb, make.
- Verifikace paralelních programů - spin a PROMELA.
- Spouštení procesů, zjišťování stavu, řízení prací.
- Komunikace mezi procesy v Unixu - sdílená paměť, fronta zpráv, semafory.
Průběžná kontrola studia
Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.
Kontrolovaná výuka
Výuka není kontrolována.