460-4112/03 – Programování v operačních systémech (PVOS)

Garantující katedraKatedra informatikyKredity6
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ík1Semestrzimní
Jazyk výukyčeština
Rok zavedení2018/2019Rok zrušení2021/2022
Určeno pro fakultyFEIUrčeno pro typy studiamagisterské, navazující magisterské
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í Klasifikovaný zápočet 2+2

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

Cílem předmětu je seznámit posluchače s pokročilými programovacími technikami v operačních systémech. Po absolvování předmětu bude student schopen navrhovat své programy efektivně, aby maximálně využíval dostupné programovací techniku operačního systému a výsledné programy byly maximálně efektivní. Získané programátorské zkušenosti bude schopen aplikovat i v jiných programovacích jazycích.

Vyučovací metody

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

Anotace

V předmětu budou probrány pokročilé metody programování v operačních systémech. Studenti se seznámí z více způsoby komunikace se zařízeními a sokety. Naučí se také efektivní způsoby meziprocesní komunikace.

Povinná literatura:

[1] W. Richard Stevens, Stephen A. Rago, Advanced Programming in the Unix environment, Addison-Wesley Professional; 3rd edition (May 24, 2013), ISBN: 0321637739 [2] Robert Love, Linux System Programming: Talking Directly to the Kernel and C Library, O'Reilly Media; Second Edition edition (June 8, 2013), ISBN: 1449339530 [3] Andrew S. Tanenbaum, Modern Operating Systems, Prentice Hall; 4 edition (March 20, 2014), ISBN: 013359162X

Doporučená literatura:

[1] Richard Stones, Neil Matthew, Začínáme programovat, 4. vydání, COMPUTER PRESS

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

Během cvičení budou studenti programovat zadané úkoly. Výsledky těchto úkolů budou tvořit základ výsledného hodnocení. Celkové znalosti a schopnosti jsou ověřeny při závěrečném testu, kdy studenti na počítači naprogramují aplikaci dle zadání.

E-learning

Další požadavky na studenta

Znalost programování v jazyce C/C++

Prerekvizity

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

Korekvizity

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

Osnova předmětu

Přednášky: 1. Práce s procesy, možnosti vytváření nových procesů, jejich řízení. Práce se signály a jejich zpracování. 2. Práce se soubory a I/O zařízeními. Paměťově mapované soubory. 3. Režim blokující a neblokující. I/O operace synchronní a asynchronní. 4. Sokety, jejich možnosti, nastavení parametrů a chování, základní zabezpečení. 5. Základní použití zabezpečené komunikace přes SSL. 6. Pokročilé techniky meziprocesní komunikace, jejich efektivita a vhodnost použití. 7. Diagnostika OS, sledování datových toků pro I/O zařízení a jednotlivé procesy. 8. Vlastnosti plánovačů procesů, jejich nastavování, RT procesy. 9. Virtuální OS, typy a konstrukce 10. Souborové systémy. Základní vlastnosti, žurnálovací souborové systémy a systémy pro flash paměti. 11. Implementace vlastního SS, jeho zasazení do user-space. 12. Ovladače zařízení, jejich vývoj, koncepce, tvorba a ladění. Cvičení (probíhají v počítačové učebně): 1. Procesy, signály a jejich zachycení a maskování. 2. Funkce select a poll, blokující a neblokující I/O komunikace. 3. Asynchronní I/O operace. 4. Sokety, způsoby nastavování jejich chování a vlastností. 5. Zabezpečená komunikace přes SSL. 6.-7. Prostředky meziprocesní komunikace. 8.-9. Komunikace s I/O zařízeními. 10. Připojení souborového systému na uživatelské úrovni. 11. Sledování datových toků I/O zařízení a síťových rozhraní. 12. Priority procesů a vláken.

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

Prezenční forma (platnost od: 2018/2019 zimní semestr, platnost do: 2021/2022 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51 3
        Úkoly ve cvičeních Jiný typ úlohy 40  21
        Projekt Projekt 20  10
        Závěrečný test Písemka 40  20
Rozsah povinné účasti: Povinná část odpovídá požadavku na zisk minimálního počtu bodů dle úkolů.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2021/2022 (N0612A140004) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2020/2021 (N0612A140004) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2020/2021 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2019/2020 (N0612A140004) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 1 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



2021/2022 zimní
2020/2021 zimní
2019/2020 zimní
2018/2019 zimní