Přeskočit na hlavní obsah
Přeskočit hlavičku
Terminated in academic year 2023/2024

Operační systémy mobilních zařízení

Typ studia navazující magisterské
Jazyk výuky angličtina
Kód 460-4084/02
Zkratka OSMZ
Název předmětu česky Operační systémy mobilních zařízení
Název předmětu anglicky Operating Systems of Mobile Devices
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Mgr. Ing. Michal Krumnikl, Ph.D.

Subject syllabus

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.

Literature

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

Advised literature

[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