460-4158/01 – Implementace v operačních systémech (IvOS)

Garantující katedraKatedra informatikyKredity4
Garant předmětuMgr. Ing. Michal Krumnikl, Ph.D.Garant verze předmětuMgr. Ing. Michal Krumnikl, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostvolitelný odborný
Ročník1Semestrletní
Jazyk výukyčeština
Rok zavedení2024/2025Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studianavazující magisterské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
KRU13 Mgr. Ing. Michal Krumnikl, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2
kombinovaná Zápočet a zkouška 10+0

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. V rámci předmětu se studenti prakticky seznámí s implementací základních prvků operačních systémů a mechanismů souborových systémů. Po absolvování předmětu budou schopni navrhovat své programy efektivně tak, aby maximálně využívali dostupné zdroje operačního systému. Po ukončení kurzu budou studenti schopni: - Identifikovat jednotlivé vrstvy operačního systému a popsat hlavní funkce. - Popsat vnitřní procesy OS s ohledem na průběh života procesu. - Vytvářet aplikace běžící přímo na konkrétním systému bez podpory rozšiřujících runtime knihoven. - Modifikovat postupy vývoje softwaru tak aby umožnily lepší využití systémových zdrojů.

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í s detaily vnitřní struktury a implementace operačních systémů, technikami plánování procesů a organizací dat a metadat souborových systémů.

Povinná literatura:

[1] TANENBAUM, Andrew S. a BOS, Herbert. Modern operating systems. 4th ed., Global. Boston: Pearson, [2014]. ISBN 978-1-292-06142-9. [2] STEVENS, W. Richard a RAGO, Stephen A. Advanced programming in the UNIX environment. 3rd ed., Upper Saddle River: Addison-Wesley, [2013]. ISBN 978-0-321-63773-4. [3] LOVE, Robert, Linux System Programming: Talking Directly to the Kernel and C Library. 2nd ed., O'Reilly Media, [2013]. ISBN 978-1-449-33953-1

Doporučená literatura:

[1] TANENBAUM, Andrew S. a WOODHULL, Albert S. Operating systems: design and implementation. 3rd ed., The Minix book. Upper Saddle River, N.J.: Pearson Prentice Hall, [2009]. ISBN 978-0-13-505376-8. [2] FOX, Richard. Linux with operating system concepts. Second edition. Boca Raton: CRC Press, Taylor & Francis Group, 2022. ISBN 978-1-032-06345-4.

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

Průběžná analýza probíraných témat a jejich praktická implementace. Hodnocení samostatně řešených úkolů. Podmínky udělení zápočtu: úspěšné vypracování samostatných úkolů během semestru. Závěrečné ověření studijních výsledků: prezenční i kombinovaná forma studia - písemná zkouška.

E-learning

Další požadavky na studenta

Znalost programování v některém z vyšších programovacích jazyků (C#, Java, C++, apod.) Základní znalost vývoje aplikací pro některou z mobilních platforem.

Prerekvizity

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

Korekvizity

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

Osnova předmětu

Přednášky - Architektura operačních systémů, charakteristika mobilních a embedded systémů. - Vnitřní struktura operačních systémů, implementace systémových volání a modulů. - Implementace správy procesů, souběžné zpracování. Práce se signály a jejich zpracování. - Vlastnosti plánovačů procesů, jejich nastavování, real-time (RT) procesy. - Power management, techniky úspory a plánování spotřeby energie. - Implementace ovladačů zařízení, komunikace s periferiemi. - Práce se soubory a I/O zařízeními. Paměťově mapované soubory. - I/O operace synchronní a asynchronní; blokující vs. neblokující režim. - Souborové systémy. Základní vlastnosti; žurnálovací souborové systémy a systémy pro flash paměti. - Implementace uživatelských souborových systémů a jejich zasazení do user-space. Cvičení (na PC učebně) - Funkce select a poll, blokující a neblokující I/O komunikace. - Sockety, způsoby nastavování jejich chování a vlastností. - Realizace jednoduchého HTTP serveru. - Vícevláknový server s meziprocesní/vláknovou synchronizací. - Implementace vlastního plánovače procesů s prioritami a prevenci hladovění procesů. - Monitorování běhu plánovačů Round-robin (RR) a Lottery Scheduling (LS), jejich srovnání. - Procesy, signály a jejich zachycení a maskování. - Implementace jednoduchého souborového systému (FS) v režimu read-only. - Rozšíření implementace FS o zápis, formátování a případnou kontrolu konzistence. - Sledování datových toků I/O zařízení a síťových rozhraní.

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

Prezenční forma (platnost od: 2024/2025 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45  23 1
        Zkouška Zkouška 55  28 3
Rozsah povinné účasti: 80% účast na bodovaných cvičení

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.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2024/2025 (N0613A140034) Informatika P čeština Ostrava 1 volitelný odborný stu. plán
2024/2025 (N0714A060020) Komunikační a informační technologie MRK P čeština Ostrava 1 povinně volitelný typu A stu. plán
2024/2025 (N0714A060020) Komunikační a informační technologie MRK K čeština Ostrava 1 povinně volitelný typu A 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í.