460-4112/01 – 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ýukyčeština
Rok zavedení2015/2016Rok zrušení
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:

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

Doporučená literatura:

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í.

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)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51
        Úkoly ve cvičení Jiný typ úlohy 60  31
        Závěrečný test Písemka 40  20
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.FormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2019/2020 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P češ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 češ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 češ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 češ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 češ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 češ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 češ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 češ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 češ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 češ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