Operating Systems of Mobile Devices (OSMZ)

Instructor : Michal Krumnikl

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. 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, Linux API. Implementations will be done in C/C++ and Java.

Instructions for COVID/online meetings

Lectures 2021/2022

Lecture presentations can only be downloaded ONLY from the domain vsb.cz, for access to the TUONET network it is possible to use VPN concentrator VŠB. The content of the lectures and the website is continuously updated and extended.

Additional Course Videos on Youtube (2020/2021)

Examination 2021/2022

newTopics for final exam.

Lab Assignments 2021/2022

You should submit your codes via Kelvin. After you log into this system, you will find there detailed descriptions of your assignments.

Tutorials for Android NDK
Video - Using the NDK with Android* Studio
JNI Tips

Guides and Code Examples for Older OSs

Interesting Links

Tools

Android :
Android Studio (SDK)
Android NDK

Linux :
Linux kernel archive
BusyBox: The Swiss Army Knife of Embedded Linux
Buildroot: making Embedded Linux easy
KDrive Tiny X Server
X.Org
Qt Project

Windows CE :
.NET Compact Framework MSDN
Windows CE API Reference

bada : (Internet Archive)
bada Developers
bada SDK

Symbian : (Internet Archive)
Symbian Foundation
Carbide.c++

Palm, WebOS : (Internet Archive)
Garnet OS SDK

Emulators / Virtual Machines
VMware, VMPlayer (free)
Open source processor emulator
Bochs IA-32 Emulator Project
Palm OS Emulator
Android Live CD (with first Android)