460-4084/01 – Operating Systems of Mobile Devices (OSMZ)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorMgr. Ing. Michal Krumnikl, Ph.D.Subject version guarantorMgr. Ing. Michal Krumnikl, Ph.D.
Study levelundergraduate or graduateRequirementCompulsory
Year1Semestersummer
Study languageCzech
Year of introduction2015/2016Year of cancellation2023/2024
Intended for the facultiesFEIIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
KRU13 Mgr. Ing. Michal Krumnikl, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2
Part-time Credit and Examination 10+0

Subject aims expressed by acquired skills and competences

We will introduce the development of applications running directly on operating system and not using any extensions of CLR or Java environments. Students will learn how to use Android native development platform, Windows CE API, iOS and Linux API. After successful completion of the course the student should be able to: - Identify and describe layered model of the operating system. - Provide characteristics of most popular mobile operating systems. - Describe inner processes in OS with respect to the process life-cycle. - Develop applications running on specific operating systems without needs for CLR or additional libraries. - Modify existing software in order to increase effectiveness of resources allocation.

Teaching methods

Lectures
Tutorials

Summary

Writing applications in Java or C# is relatively easy, but there are special cases, where the generated code is not very efficient. The examples of most demanding applications are computationally intensive algorithms or peripheral and network communications. In order to achieve better results, we have to use C/C++ with the possibility to directly access the OS resources.

Compulsory literature:

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

Recommended 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

Way of continuous check of knowledge in the course of semester

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

Other requirements

Knowledge of a higher programming language (C#, Java, C++, etc.) Basics of mobile application development and familiarity with at least one mobile platform.

Prerequisities

Subject codeAbbreviationTitleRequirement
460-2025 TAMZ II Design of Applications for Mobile Devices II Recommended

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures: 1. Architecture of operating systems. Mobile operating systems. 2. Process managements, concurrency 3. Interprocess communication, synchronization. 4. freeRTOS and context switching, process schedulers. 5. Memory management, paging, segmentation. 6. File systems (EXT2/3/4, JFFS/YAFFS, FAT). 7. Peripheral communications and interrupt handling, network communication. 8. OS Linux, Android. 9. iOS (iPhone OS) 10. Windows CE/Mobile/Phone. 11. Cross-platform development, libraries and frameworks. 12. Security considerations, cryptography. 13. Reverse engineering, mobile malware. 14. Power management, optimization of energy consumption. Labs: 1. Android SDK, introduction to sockets. 2. Implementation of HTTP server - Sockets, Threads. 3. Synchronization problems, semaphores. 4. Thread synchronization, messages. 5. Video streaming, Camera API. 6. Round Robin (RR) scheduler implementation. 7. Priority extension of RR. 8. Lottery Scheduling implementation. 9. Accessing FAT file system metadata. 10. Reading FAT file system content. 11. Implementing write operation on FAT file system. 12. Application reverse engineering, content of application bundles. 13. Malware analysis. 14. Code optimization, profilers.

Conditions for subject completion

Part-time form (validity from: 2015/2016 Winter semester, validity until: 2023/2024 Summer semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 45  23
        Examination Examination 55  28 3
Mandatory attendence participation: Participation in the exercises is compulsory and is monitored. The scope of the compulsory participation will be communicated to the students by the course supervisor at the beginning of the semester.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2023/2024 (N0613A140034) Computer Science K Czech Ostrava 1 Optional study plan
2023/2024 (N0613A140034) Computer Science P Czech Ostrava 1 Optional study plan
2023/2024 (N0714A060020) Communication and Information Technology MRK P Czech Ostrava 1 Choice-compulsory type A study plan
2023/2024 (N0714A060020) Communication and Information Technology MRK K Czech Ostrava 1 Choice-compulsory type A study plan
2023/2024 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2023/2024 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2023/2024 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2023/2024 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2022/2023 (N0613A140034) Computer Science P Czech Ostrava 1 Optional study plan
2022/2023 (N0714A060020) Communication and Information Technology MRK P Czech Ostrava 1 Choice-compulsory type A study plan
2022/2023 (N0714A060020) Communication and Information Technology MRK K Czech Ostrava 1 Choice-compulsory type A study plan
2022/2023 (N0613A140034) Computer Science K Czech Ostrava 1 Optional study plan
2022/2023 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2022/2023 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2022/2023 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2022/2023 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2021/2022 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2021/2022 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2021/2022 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2021/2022 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2020/2021 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2020/2021 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2020/2021 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2020/2021 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2019/2020 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2019/2020 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2019/2020 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2019/2020 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2018/2019 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2018/2019 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2018/2019 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2018/2019 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2017/2018 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2017/2018 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2016/2017 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2016/2017 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 1 Choice-compulsory study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 1 Choice-compulsory study plan
2015/2016 (N2647) Information and Communication Technology (2612T059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2015/2016 (N2647) Information and Communication Technology (2612T059) Mobile Technology K Czech Ostrava 1 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2022/2023 Summer
2021/2022 Summer
2020/2021 Summer
2019/2020 Summer
2018/2019 Summer
2017/2018 Summer
2016/2017 Summer
2015/2016 Summer