460-2016/05 – 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íPovinnostvolitelný odborný
Ročník3Semestrzimní
Jazyk výukyčeš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í
KLE0133 Ing. Lukáš Klein
OLI10 Ing. Petr Olivka, Ph.D.
SEI01 Ing. David Seidl, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+3
kombinovaná Zápočet a zkouška 11+10

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

Praktické znalosti jsou ověřovány v každém cvičení na zadaných a bodovaných příkladech. Teoretické znalosti jsou ověřeny zkouškou.

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

Kombinovaná forma (platnost od: 2018/2019 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
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 3
                Programování, praktická část Písemná zkouška 25  13
                Teoretická část Ústní zkouška 30  15
Rozsah povinné účasti: Účast na cvičeních je povinná a je kontrolována. S rozsahem povinné účastí seznámí studenty garant předmětu na začátku semestru.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech. Rozsah účasti na cvičeních si student na začátku semestru dohodne s garantem předmě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
2024/2025 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2024/2025 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán
2024/2025 (B0714A060023) Komunikační a informační technologie P čeština Ostrava 3 volitelný odborný stu. plán
2024/2025 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 3 volitelný odborný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 3 volitelný odborný stu. plán
2023/2024 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán
2023/2024 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2023/2024 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 3 volitelný odborný stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 3 volitelný odborný stu. plán
2023/2024 (B0714A060023) Komunikační a informační technologie P čeština Ostrava 3 volitelný odborný stu. plán
2022/2023 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán
2022/2023 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2022/2023 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2022/2023 (B0714A060023) Komunikační a informační technologie P čeština Ostrava 3 volitelný odborný stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 3 volitelný odborný stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika P češ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 čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2021/2022 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán
2021/2022 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 3 volitelný odborný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika K češ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 čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2020/2021 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán
2020/2021 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 3 volitelný odborný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 3 povinný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0613A140014) Informatika INF P čeština Ostrava 3 povinný stu. plán
2019/2020 (B0613A140014) Informatika INF K čeština Ostrava 3 povinný stu. plán

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

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky



2023/2024 zimní
2022/2023 zimní
2021/2022 zimní