Detail předmětu
Operační systémy
FIT-IOSAk. rok: 2024/2025
Pojem operačního systému (OS) jako součásti programového vybavení. Architektura OS, klasifikace OS. Přehled operačních systémů. Jádro OS UNIX, jeho struktura, textové a grafické uživatelské rozhraní, příkazové jazyky. Systémy ovládání souborů, základní principy implementace vstup/výstupních operací. Správa procesů, přepínání kontextu, plánování, meziprocesová komunikace. Správa paměti, stránkování, virtuální paměť. Synchronizace procesů, semafory a další synchronizační prostředky, uváznutí, stárnutí.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Základy programování v jazyce C.
Pravidla hodnocení a ukončení předmětu
- Ohodnocení dvou domácích úloh vypracovaných samostatně studenty (max 30 bodů).
- Ohodnocení půlsemestrální zkoušky (max 10 bodů).
- Vypracování dvou domácích úloh, polosemestrální zkouška, kombinovaná závěrečná zkouška (povinná písemná část, ústní dozkoušení dle potřeby).
- Pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 27 body. V opačném případě bude zkouška hodnocena 0 body.
Učební cíle
Studenti znají základní principy operačních systémů (a zejména OS UNIX) a chápou jejich vliv na chod komplexních výpočetních systémů. Studenti jsou schopni využít skriptů pro řešení různých úloh v prostředí OS UNIX.
Prerekvizity a korekvizity
- doporučená prerekvizita
Úvod do softwarového inženýrství - doporučená prerekvizita
Základy programování
Základní literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod. Vývoj počítačů a OS. Požadavky na OS, klasifikace OS, standardy. Základní pojmy a obecná struktura OS.
- Operační systém UNIX. Historie a základní vývojové větve. Principy a struktura systému. Struktura jádra, rozhraní a formy komunikace s jádrem.
- Interpret příkazů (shell) v UNIXu. Základní příkazy, programy, skripty. Speciální symboly. Přesměrování vstupu a výstupu, roury, procesy na pozadí, subshell. Proměnné, řídicí struktury.
- Základy programování v Unixu. Jazyky, překladače, principy sestavování programu, dynamicky sestavované knihovny. Standardní utility UNIXu.
- Systém souborů. Fyzická a logická struktura disku. Typy souborů, i-uzel, uložení dat souboru na disku.
- Přístupová práva k souborům, uživatelé a skupiny, atributy suid a sgid, typická struktura adresářů systému UNIX.
- Vstup a výstup. Odpovídající služby jádra. Datové struktury a algoritmy používané jádrem pro podporu vstupu a výstupu.
- Správa procesů. Pojem procesu, jeho stavy a representace v systému. Zavedení systému, proces init. Volání fork, exec, exit, wait.
- Základní algoritmy plánování procesů.
- Vzájemné vyloučení, semafory a další synchronizační prostředky.
- Typické synchronizační úlohy. Probém uváznutí (deadlock) a jeho řešení.
- Správa paměti. Adresové prostory, překlad adres, stránkování.
- Virtualizace paměti.
Projekt
Vyučující / Lektor
Osnova
- Tvorba skriptů s využitím shellu a standardních utilit v prostředí operačního systému UNIX.
- Synchronizace procesů v prostředí UNIX s využitím jazyka C.