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

Garantující katedraKatedra informatikyKredity4
Garant předmětuIng. Petr Olivka, Ph.D.Garant verze předmětuIng. Petr Olivka, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinně volitelný
Ročník2Semestrzimní
Jazyk výukyangličtina
Rok zavedení2015/2016Rok zrušení2023/2024
Určeno pro fakultyFEIUrčeno pro typy studianavazující magisterské, 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
kombinovaná Klasifikovaný zápočet 14+7

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 dovednosti jsou ověřovány během závěrečného testu, kdy studenti naprogramují aplikaci na počítači podle 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: 2015/2016 zimní semestr, platnost do: 2023/2024 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
        Úlohy ve cvičení Jiný typ úlohy 60  31
        Závěrečný test Jiný typ úlohy 40  20
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
2023/2024 (N0612A140005) Informační a komunikační bezpečnost P angličtina Ostrava 1 volitelný odborný stu. plán
2023/2024 (N0613A140035) Informatika PSS P angličtina Ostrava 1 povinně volitelný typu A stu. plán
2023/2024 (N0613A140035) Informatika DS P angličtina Ostrava 1 povinně volitelný typu B stu. plán
2023/2024 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2022/2023 (N0613A140035) Informatika PSS P angličtina Ostrava 1 povinně volitelný typu A stu. plán
2022/2023 (N0613A140035) Informatika DS P angličtina Ostrava 1 povinně volitelný typu B stu. plán
2022/2023 (N0612A140005) Informační a komunikační bezpečnost P angličtina Ostrava 1 volitelný odborný stu. plán
2022/2023 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2021/2022 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2020/2021 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 2 povinně volitelný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 2 povinně volitelný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 2 povinně volitelný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 2 povinně volitelný stu. plán
2015/2016 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 2 povinně volitelný stu. plán
2015/2016 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 2 povinně volitelný 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

Předmět neobsahuje žádné hodnocení.