460-4084/02 – Operační systémy mobilních zařízení (OSMZ)

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íPovinnostpovinně volitelný
Ročník1Semestrletní
Jazyk výukyangličtina
Rok zavedení2015/2016Rok zrušení2023/2024
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 představit tvorbu aplikací využívající přímo prostředků OS mobilního zařízení. Seznámení s Android SDK a NDK, Windows CE API, iOS a tvorbou aplikací pro Linux, sestavování kernelu a obrazu disku embedded systému. Po ukončení kurzu budou studenti schopni: - Identifikovat jednotlivé vrstvy operačního systému a popsat jeho hlavní funkce. - Vyjmenovat klíčové charakteristiky nejpoužívanějších systémů mobilních zařízení. - 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 existující software tak, aby se lépe využily systémové zdroje.

Vyučovací metody

Přednášky
Cvičení (v učebně)

Anotace

Vytváření aplikací pomocí programovacích jazyků Java a C# je sice velmi pohodlné, ale v některých případech není příliš efektivní. Jde zejména o tvorbu aplikací nebo jejich částí, které vyžadují extrémní výpočetní výkon nebo velmi intenzivně spolupracují s periferními zařízeními. V těchto případech lze mnohem lepších výsledků dosáhnout pomocí programovacích jazyků C/C++ a přímého využití prostředků operačních systémů (Linux, Android, iOS).

Povinná literatura:

[1] Tannenbaum, Andrew S., BOS, Herbert, Modern Operating Systems (4th Edition), Prentice Hall, 2014, ISBN 978-0133591620

Doporučená literatura:

[1] Smith, Neil, Android Studio 4.1 Development Essentials - Java Edition: Developing Android 11 Apps Using Android Studio 4.1, Java and Android Jetpack, Payload Media, 2020, ISBN 1951442253 [2] Levin, Jonathan, MacOS and iOS Internals, Volume II: Kernel Mode, Technologeeks Press; 2nd edition, 2019, ISBN 0991055578 [3] Boling, Douglas, Programming Windows Embedded CE 6.0 Developer Reference, Microsoft Press; 4 edition, 2007, ISBN 978-0735624177 [4] Tannenbaum, Andrew S., Operating Systems: Design and Implementation (Prentice-Hall Software Series) [5] Yaghmour Karim, Embedded Android: Porting, Extending, and Customizing, O'Reilly Media, 2013, ISBN 978-1449308292 [6] Ratabouil, Sylvain, Android NDK Beginner's Guide, Packt Publishing, 2012, ISBN 978-1849691529 [7] Boling, Douglas, Programming Windows Embedded CE 6.0 Developer Reference, Microsoft Press; 4 edition, 2007, ISBN 978-0735624177

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

Kód předmětuZkratkaNázevPovinnost
460-2025 TAMZ II Tvorba aplikací pro mobilní zařízení II Doporučená

Korekvizity

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

Osnova předmětu

Přednášky: 1. Architektura operačního systému, charakteristika mobilních OS. 2. Správa procesů, souběžné zpracování 3. Meziprocesni komunikace, synchronizace. 4. freeRTOS a princip přepínání kontextu, plánovače. 5. Správa paměti, stránkování, segmentace. 6. Souborové systémy (EXT2/3/4, JFFS/YAFFS, FAT). 7. Komunikace s periferními zařízeními, síťová komunikační rozhraní. 8. Linux, Android. 9. iOS (iPhone OS). 10. Windows CE/Mobile/Phone. 11. Multiplatformní vývoj, podpůrné knihovny a frameworky. 12. Zajištění bezpečnosti dat, možnosti kryptografie. 13. Techniky zpětného inženýrství, mobilní malware. 14. Power management, techniky úspory energie. Cvičení (na PC učebně): 1. Android SDK, základy práce se sockets. 2. Implementace vlastního HTTP serveru - Sockets, Threads. 3. Problémy synchronizace, použití semaforů. 4. Ukázka synchronizace vláken, použití zpráv pro zasílání dat mezi vlákny. 5. Streamování video dat s Camera API. 6. Implementace plánovače Round Robin (RR). 7. Implementace priorit a prevence hladovění pro RR. 8. Implementace plánovače Lottery Scheduling (LS). 9. Čtení datových struktur souborového systému FAT. 10. Přístup k systému FAT v režimu read-only. 11. Implementace zápisu souborů. 12. Zpětné inženýrství, struktura APK souborů. 13. Analýza mobilního malware. 14. Optimalizace kódu, profilery.

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

Kombinovaná 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ů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45  23
        Zkouška Zkouška 55  28 3
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.

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 (N0613A140035) Informatika P angličtina Ostrava 1 volitelný odborný stu. plán
2023/2024 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 povinně volitelný stu. plán
2023/2024 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2023/2024 (N0714A060021) Komunikační a informační technologie MRK P angličtina Ostrava 1 povinně volitelný typu A stu. plán
2022/2023 (N0613A140035) Informatika P angličtina Ostrava 1 volitelný odborný stu. plán
2022/2023 (N0714A060021) Komunikační a informační technologie MRK P angličtina Ostrava 1 povinně volitelný typu A stu. plán
2022/2023 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 povinně volitelný stu. plán
2022/2023 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2021/2022 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2021/2022 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 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 1 povinně volitelný stu. plán
2020/2021 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 povinně volitelný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 1 povinně volitelný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie K angličtina Ostrava 1 povinný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 povinně volitelný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K angličtina Ostrava 1 povinně volitelný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie K angličtina Ostrava 1 povinný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 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 1 povinně volitelný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie K angličtina Ostrava 1 povinný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 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 1 povinně volitelný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie K angličtina Ostrava 1 povinný stu. plán
2015/2016 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P angličtina Ostrava 1 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 1 povinně volitelný stu. plán
2015/2016 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie P angličtina Ostrava 1 povinný stu. plán
2015/2016 (N2647) Informační a komunikační technologie (2612T059) Mobilní technologie K angličtina Ostrava 1 povinný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku
V - ECTS - mgr. 2023/2024 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - mgr. 2022/2023 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - mgr. 2021/2022 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - mgr. 2020/2021 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - mgr. 2019/2020 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok

Hodnocení Výuky

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