Detail předmětu

Operační systémy

IOS Ak. rok 2021/2022 letní semestr 5 kreditů

Aktuální akademický rok

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

česky, anglicky

Zakončení

zápočet+zkouška (kombinovaná)

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 (písemná čá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

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

  1. Úvod. Vývoj počítačů a OS. Požadavky na OS, klasifikace OS, standardy. Základní pojmy a obecná struktura OS.
  2. 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.
  3. 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.
  4. Základy programování v Unixu. Jazyky, překladače, principy sestavování programu, dynamicky sestavované knihovny. Standardní utility UNIXu.
  5. Systém souborů. Fyzická a logická struktura disku. Typy souborů, i-uzel, uložení dat souboru na disku.
  6. Přístupová práva k souborům, uživatelé a skupiny, atributy suid a sgid, typická struktura adresářů systému UNIX.
  7. 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.
  8. Správa procesů. Pojem procesu, jeho stavy a representace v systému. Zavedení systému, proces init. Volání fork, exec, exit, wait.
  9. Základní algoritmy plánování procesů.
  10. Vzájemné vyloučení, semafory a další synchronizační prostředky.
  11. Typické synchronizační úlohy. Probém uváznutí (deadlock) a jeho řešení.
  12. Správa paměti. Adresové prostory, překlad adres, stránkování.
  13. Virtualizace paměti.

Osnova ostatní - projekty, práce

  1. Tvorba skriptů s využitím shellu a standardních utilit v prostředí operačního systému UNIX.
  2. Synchronizace procesů v prostředí UNIX s využitím jazyka C.

Doporučené volitelné složky programu

  • Dobrovolná doplňková demonstrační cvičení, budou-li vypsána.

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ů).

Metody vyučování

  • Přednášky.
  • Samostatné experimenty.
  • Samostatná práce na projektech.

Kontrolovaná výuka

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

Podmínky zápočtu

Získání alespoň 10 bodů z domácích úloh a půlsemestrální zkoušky.

Způsob kontaktu s vyučujícím

  • Primární kontakt emailem, pomocí kterého je možno si domluvit individuální konzultaci s přednášejícími či přidělenými cvičícími (jsou přiděleni v průběhu semestru).
  • Možnost diskuse přes webová fóra předmětu (zřízena během semestru).

Zařazení předmětu ve studijních plánech

  • Program BIT, 1. ročník, povinný
  • Program IT-BC-3, obor BIT, 1. ročník, povinný
Nahoru