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ý
Ročník1Semestrletní
Jazyk výukyangličtina
Rok zavedení2015/2016Rok 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 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

Prezenční forma (platnost od: 2015/2016 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
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
Rozsah povinné účasti: Povinná účast na přednáškách a cvičeních, jsou akceptovány 2 omluvy

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
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. 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