460-2016/06 – Operační systémy (OSY)

Garantující katedraKatedra informatikyKredity5
Garant předmětuIng. Petr Olivka, Ph.D.Garant verze předmětuIng. Petr Olivka, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Ročník3Semestrzimní
Jazyk výukyangličtina
Rok zavedení2019/2020Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
OLI10 Ing. Petr Olivka, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+3

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Cílem předmětu je vysvětlit funkci operačního systému, popsat jeho jednotlivé části, objasnit jejich funkci a demonstrovat praktickou implementaci.

Vyučovací metody

Přednášky
Cvičení (v učebně)
Projekt

Anotace

V předmětu jsou probrány základní principy a způsoby implementace operačních systémů. Studenti získají přehled o principech moderních operačních systémů, jejich funkcích a použitých metodách. I když jsou přednášeny obecné metody, je předmět zaměřen na rodinu operačních systémů Unix. Po ukončení předmětu budou studenti schopni aplikovat své znalosti při tvorbě programů využívajících procesy i vlákna a několik typů meziprocesní komunikace.

Povinná literatura:

Tanenbaum, Andrew S.: Operating Systems: Design and Implemetation Prentice Hall, 1987, český překlad knihy. Tanenbaum, Andrew S. Bos H.: Modern Operating Systems (4th Edition), Prenitice Hall Press, 2014 Cvičení: Neil Matthew, Richard Stones: Linux - Začínáme programovat (Computer Press, 2000) A. D. Marshall, Programming in C - UNIX System Calls and Subroutines using C, http://www.cs.cf.ac.uk/Dave/C/

Doporučená literatura:

Maurice J. Bach: Principy operačního systému UNIX (Softwarové Aplikace a Systémy, 1993) Daniel P. Bovet, Marco Cesani: Understanding the Linux Kernel (O'Reilly, 2003) Cvičení Stevens Richard W.: Advanced programming in the Unix Environment (Addison--Wesley, 1993) Stevens Richard W.: UNIX Network Programming, Volume 1 (Prentice Hall PTR, 1998) Stevens Richard W.: UNIX Network Programming, Volume 2 (Prentice Hall PTR, 1999)

Forma způsobu ověření studijních výsledků a další požadavky na studenta

E-learning

Další požadavky na studenta

Dobrá znalost programování v jazyce C/C++. Základní znalost práce v OS Linux.

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
460-2052 UPR Úvod do programování Doporučená

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

1. Operační systém, historie, koncept (procesy, soubory, systémová volání, shell), struktura OS. 2. Procesy, vlákna, meziprocesová komunikace, souběh, kritická sekce. 3. Meziprocesní komunikace, semafory, monitory, zprávy, sdílená paměť. 4. Plánování procesů - Round-Robin, priority, vícenásobné fronty, RT plánování. 5. Správa paměti OS, využití paměti, virtuální paměť, stránkování, algoritmy výměny stránek. 6. Vstupně výstupní zařízení, obsluha přerušení, ovladače zařízení, vyrovnávací paměti. 7. Zablokování, vznik zablokování, možnosti předcházení zablokování. 8. Souborové systémy - soubory, adresáře, implementace souborového systému. 9. Bezpečnost v operačním systému, bezpečnost procesů, zabezpečení souborů. 10. Selinux: koncepce, řízení přístupu, pravidla, základní příkazy. 11. Virtualizace, principy a úrovně virtualizace, vhodnost použití. 12. RT operační systémy, FreeRTOS pro embeded zařízení. 13. FreeRTOS, základní koncepce programu, vlákna, synchronizace. 14. ROS - Robotický OS, koncepce, uzly, zprávy, témata, příkazy. Cvičení: 1. Programování v OS Linux, Makefile, IDE, 2. Statické a dynamické knihovny. Využití SSH jako remote shell. 3. Procesy, vytváření procesů, meziprocesní komunikace pomocí rour. 4. Procesy, výměna programu v procesu, přesměrování standardního vstupu a výstupu. 5. Sokety, soketový server, soketový klient. 6. Využívání vláken v procesech. 7. Využití semaforů v meziprocesní komunikaci. 8. Využití sdílené paměti a fronty zpráv v meziprocesní komunikaci. 9. Využívání vláken v procesu a jejich synchronizace. 10. Virtualizace, virtuální počítač, konfigurace, snapshots. 11. Selinux, základní ovládání a nastavení. 12. FreeRTOS, vytváření úloh, ovládání periférií přes GPIO. 13. FreeRTOS, synchroznizace úloh, komunikace s PC. 14. ROS, uzly, příkazy, vytvoření vlastního uzlu. Projekt: Implementace vybraného známého IPC problému. Komunikace mezi klienty a serverem bude pomocí soketů.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2018/2019 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45 (45) 23
                Soubory, roury, procesy Jiný typ úlohy 15  8
                Meziprocesní komunikace Jiný typ úlohy 20  10
                FreeRTOS Jiný typ úlohy 10  5
        Zkouška Zkouška 55 (55) 28
                Programování, praktická část Písemná zkouška 25  13
                Teoretická část Ústní zkouška 30  15
Rozsah povinné účasti: Povinnost účasti na cvičení koresponduje s požadavkem získání minimálního počtu bodů pro uznání zápočtu.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2022/2023 (B0613A140010) Informatika INF P angličtina Ostrava 3 povinný stu. plán
2022/2023 (B0714A150004) Počítačové systémy pro průmysl 21. století INF P angličtina Ostrava 3 povinný stu. plán
2022/2023 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2022/2023 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140010) Informatika INF P angličtina Ostrava 3 povinný stu. plán
2021/2022 (B0714A150004) Počítačové systémy pro průmysl 21. století INF P angličtina Ostrava 3 povinný stu. plán
2021/2022 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A150004) Počítačové systémy pro průmysl 21. století INF P angličtina Ostrava 3 povinný stu. plán
2020/2021 (B0613A140010) Informatika INF P angličtina Ostrava 3 povinný stu. plán
2020/2021 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0714A150004) Počítačové systémy pro průmysl 21. století INF P angličtina Ostrava 3 povinný stu. plán
2019/2020 (B0613A140010) Informatika INF P angličtina Ostrava 3 povinný stu. plán
2019/2020 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku
EFREI 2022/2023 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
EFREI 2021/2022 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
EFREI 2020/2021 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok