Detail předmětu

Pokročilé operační systémy

POSe Ak. rok 2011/2012 letní semestr 5 kreditů

Aktuální akademický rok

Základní pojmy, jádro operačního systému a jeho struktura. Procesy a vlákna. Problematika paralelního programování a synchronizace se zaměřením na synchronizaci v jádře operačních systémů. Synchronizační nástroje a jejich použití. 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

anglicky

Zakončení

zkouška

Rozsah

  • 26 hod. přednášky
  • 13 hod. pc laboratoře
  • 13 hod. projekty

Zajišťuje ústav

Získané dovednosti, znalosti a kompetence z předmětu

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í.

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

Příkazový jazky shellu, programování v jazyce C v prostředí Unixu, architektura výpočetních systémů, asembler Intel x86, základní principy funkce operačních systémů.

Literatura studijní

  • Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
  • Open Sources: Voices from the Open Source Revolution, O'Reilly, 1999, ISBN 1-56592-582-3
  • Love, R.: Linux Kernel Development, Second Edition, Pearson Education, 2005, ISBN 0-672-32720-1

Literatura referenční

  • Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000, ISBN 0-201-35752-6
  • Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
  • Nutt, G.J.: Operating Systems: A Modern Perspective, Addison-Wesley, 2000, ISBN 0-201-61251-8
  • Vahalia, U.: Unix Internals: The New Frontiers, Prentice-Hall, 1996, ISBN 0-13-101908-2
  • Schimmel, K.: UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, Addison-Wesley, 1994, ISBN 0-201-63338-8
  • McKusick, M.K., Neville-Neil, G.V.: The Design and Implementation of the FreeBSD Operating System, Addison-Wesley, 2004, ISBN 0-201-70245-2

Osnova přednášek

  1. 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.
  2. Procesy a vlákna dle standardu POSIX 1003.1, vytváření procesů a vláken, implementace vláken.
  3. Úvod do paralelního programování, synchronizace a prostředky synchronizace. Implementace vzájemného vyloučení atomickými operacemi čtení a zápis.
  4. Metody synchronizace speciálními atomickými instrukcemi v jednoprocesorových a víceprocesorových systémech se sdílenou pamětí, inverze priority.
  5. Synchronizační nástroje a jazykové konstrukce, klasické synchronizační úlohy a příklady řešení.
  6. Plánování procesoru, strategie a implementace, plánovací algoritmy pro jednoprocesorové systémy.
  7. Přidělování prostředků, uváznutí, detekce uváznutí a vyhnutí se uváznutí pro SR a CR prostředky.
  8. Správa paměti, organizace paměti, stránkování, tabulka stránek a TLB.
  9. Virtuální paměť, stránkovací algoritmus, nahrazovací algoritmy pro pevný a proměnný počet rámců.
  10. Implemetace virtuální paměti a problematika použití virtuální paměti - zamykání stránek, sdílení stránek, dynamické knihovny, virtualizace souborů, paměťové nároky jádra.
  11. Vstup a výstup, ovladače, synchronní a asynchronní V/V, optimalizace diskových operací.
  12. Systémy souborů, organizace, přidělování diskového prostoru, ochrana, zotavení, systémy souborů Unix, BSD FFS a žurnálové systémy souborů.
  13. Ochrana a bezpečnost, ochrana dat, bezpečnostní rizika.

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

Projekty musí být odevzdány do zveřejněného data, pozdní odevzdání projektu je hodnoceno 0 body.

Nahoru