Detail předmětu
Operační systémy
IOS Ak. rok 2018/2019 letní semestr 5 kreditů
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í.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Bodové hodnocení
- 60 bodů závěrečná zkouška (písemná část)
- 10 bodů půlsemestrální test (4 bodů písemná část, 6 bodů testová část)
- 30 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Stránky předmětu
Získané dovednosti, znalosti a kompetence z předmětu
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.
Cíle předmětu
Cílem je seznámit studenty s principy operačních systémů obecně a dále se základy operačního systému Unix.
Proč je předmět vyučován
Kurs má zejména seznámit studenty se základními koncepty a mechanismy operačních systémů (soubory a souborové systémy, procesy a plánování, meziprocesová komunikace, přidělování paměti), aby byli schopni efektivně využívat služby operačních systémů ve svých budoucích dílech. Kurs dále seznámí studenty se skriptováním v shellu umožňujícím automatizaci řady úkonů běžně prováděných při vývoji, správě i dalším použití výpočetních systémů. Konečně studenti získají také první zkušenosti s tvorbou paralelních programů.
Doporučené prerekvizity
- Úvod do softwarového inženýrství (IUS)
- Základy programování (IZP)
Požadované prerekvizitní znalosti a dovednosti
Základy programování v jazyce C.
Literatura referenční
- Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 10. vydání, John Wiley & Sons, 2018.
Osnova přednášek
- Ú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. Základní principy grafického uživatelského rozhraní X-Window.
- 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ů. Zavedení systému, proces init. Volání fork, exec, exit, wait. Stavy procesu, plánovač.
- Správa paměti. Adresové prostory, překlad adres, stránkování.
- Virtualizace paměti.
- Vzájemné vyloučení, semafory a další synchronizační prostředky.
- Typické synchronizační úlohy, uváznutí (deadlock), stárnutí.
Osnova ostatní - projekty, práce
- 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.
Průběžná kontrola studia
- Ohodnocení dvou domácích úloh vypracovaných samostatně studenty (max 30 bodů).
- Ohodnocení půlsemestrální zkoušky (max 10 bodů).
Podmínky zápočtu:
Získání alespoň 10 bodů z domácích úloh a půlsemestrální zkoušky.
Kontrolovaná výuka
- Vypracování dvou domácích úloh, kombinovaná závěrečná zkouška.
- 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.
Podmínky zápočtu
Získání alespoň 10 bodů z domácích úloh a půlsemestrální zkoušky.
Zařazení předmětu ve studijních plánech