| Název: | Pokročilé operační systémy |
|---|
| Zkratka: | POS |
|---|
| Ak.rok: | 2011/2012 |
|---|
| Semestr: | letní |
|---|
| Studijní plán: | |
|---|
| Vyučovací jazyk: | čeština |
|---|
| Informace pro zapsané: | http://www.fit.vutbr.cz/study/courses/POS/private/ |
|---|
| Kredity: | 5 kreditů |
|---|
| Ukončení: | zkouška (písemná) |
|---|
| Výuka: | | hod./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 39 | 0 | 0 | 0 | 13 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 65 | 15 | 0 | 0 | 20 |
|---|
|
|---|
| Garant: | Lampa Petr, Ing., CVT |
|---|
| Přednášející: | Lampa Petr, Ing., CVT |
| Cvičící: | Kašpárek Tomáš, Ing., CVT |
|---|
| Fakulta: | Fakulta informačních technologií VUT v Brně |
|---|
| Pracoviště: | Ústav informačních systémů FIT VUT v Brně |
|---|
| Prerekvizity: | |
|---|
| Navazující: | |
|---|
| | | 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ů. | | Anotace: |
|---|
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. | | Požadované prerekvizitní znalosti a dovednosti: |
|---|
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ů. | | 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ů. | | Dovednosti, znalosti a kompetence obecné: |
|---|
Hlubší znalosti funkce výpočetních systémů a systémového programování. | | Osnova přednášek: |
|---|
- 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.
- 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. Implementace vzájemného vyloučení atomickými operacemi čtení a zápis.
- Metody synchronizace speciálními atomickými instrukcemi v jednoprocesorových a víceprocesorových systémech se sdílenou pamětí, inverze priority.
- 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ů.
- Implementace 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.
- 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, BSD FFS a žurnálové systémy souborů.
- Ochrana a bezpečnost, ochrana dat, bezpečnostní rizika.
| | Osnova ostatní - projekty, práce: |
|---|
Dva projekty v rozsahu 13 hod. hodnocené 20 body na téma:
- Spouštění vláken a synchronizace v Unixu.
- Předávání zpráv mezi procesy v Unixu.
- Zasílání signálů a obsluha signálů v Unixu.
| | 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
- Stevens, W.,R.: Advanced Programming in the UNIX Environment: Second Edition, Addison-Wesley Professional, 2005, 0-201-43307-9
| | 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
| | Kontrolovaná výuka: |
|---|
Znalosti studentů jsou ověřovány vypracováním projektů a závěrečnou zkouškou. | | Průběžná kontrola studia: |
|---|
V polovině semestru písemnou prací s hodnocením 15 bodů. Půlsemestrální práce nemá opravný termín. Projekty musí být odevzdány do zveřejněného data, pozdní odevzdání projektu je hodnoceno 0 body. | | |
|