Detail předmětu

Operační systémy

FIT-IOSAk. rok: 2014/2015

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

čeština

Počet kreditů

5

Výsledky učení 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.

Prerekvizity

Základy programování v jazyce C.

Způsob a kritéria hodnocení

Získání alespoň 15 bodů z domácích úloh.

Osnovy výuky

    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. Základní principy grafického uživatelského rozhraní X-Window.
    5. Standardní utility UNIXu.
    6. Systém souborů. Fyzická a logická struktura disku. Typy souborů, i-uzel, uložení dat souboru na disku.
    7. Přístupová práva k souborům, uživatelé a skupiny, atributy suid a sgid, typická struktura adresářů systému UNIX.
    8. 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.
    9. Správa procesů. Zavedení systému, proces init. Volání fork, exec, exit, wait. Stavy procesu, plánovač.
    10. Správa paměti. Adresové prostory, překlad adres, stránkování.
    11. Virtualizace paměti.
    12. Vzájemné vyloučení, semafory a další synchronizační prostředky.
    13. Typické synchronizační úlohy, uváznutí (deadlock), stárnutí.

    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.

Učební cíle

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.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

  • 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ě 32 body. V opačném případě bude zkouška hodnocena 0 body.

Prerekvizity a korekvizity

Základní literatura

Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 10. vydání, John Wiley & Sons, 2018. (CS)

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

  • Program IT-BC-3 bakalářský

    obor BIT , 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

  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. Základní principy grafického uživatelského rozhraní X-Window.
  5. Standardní utility UNIXu.
  6. Systém souborů. Fyzická a logická struktura disku. Typy souborů, i-uzel, uložení dat souboru na disku.
  7. Přístupová práva k souborům, uživatelé a skupiny, atributy suid a sgid, typická struktura adresářů systému UNIX.
  8. 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.
  9. Správa procesů. Zavedení systému, proces init. Volání fork, exec, exit, wait. Stavy procesu, plánovač.
  10. Správa paměti. Adresové prostory, překlad adres, stránkování.
  11. Virtualizace paměti.
  12. Vzájemné vyloučení, semafory a další synchronizační prostředky.
  13. Typické synchronizační úlohy, uváznutí (deadlock), stárnutí.

Projekt

13 hod., nepovinná

Vyučující / Lektor