460-4112/03 – Programování v operačních systémech (PVOS)
Garantující katedra | Katedra informatiky | Kredity | 6 |
Garant předmětu | Ing. Petr Olivka, Ph.D. | Garant verze předmětu | Ing. Petr Olivka, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 1 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2018/2019 | Rok zrušení | 2021/2022 |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské, magisterské |
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:
Doporučená literatura:
[1] Richard Stones, Neil Matthew, Začínáme programovat, 4. vydání, COMPUTER PRESS
Další studijní materiály
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
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky