Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2023/2024

Programování v operačních systémech

Typ studia navazující magisterskémagisterské
Jazyk výuky angličtina
Kód 460-4112/02
Zkratka PVOS
Název předmětu česky Programování v operačních systémech
Název předmětu anglicky Programming in Operating Systems
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Petr Olivka, Ph.D.

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.

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 

Advised literature

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