Operační systémy pro mobilní zařízení (OSMZ)
Vyučující : Michal Krumnikl
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 jejích částí, které vyžadují extrémní výpočetní výkon nebo velmi intenzívně spolupracují s periferními zařízeními. V takovýchto případech lze mnohem lepších výsledků dosáhnout pomocí programovacích jazyků C/C++. Důraz je kladen také na vnitřní architekturu operačních systému v mobilních a embedded zařízeních (Windows CE, Linux).
Přednášky
Prezentace přednášek je možno stahovat jen z domény vsb.cz, pro přístup do sítě TUONET je možno použít VPN koncentrátor VŠB.
- 1 - Úvod, srovnání OS mobilních zařízení, základní dělení OS
- 2 - Základní architektura OS, systémové volání, procesy a vlákna
- 3 - Procesy a plánovače
- 4 - IPC, synchronizace
- 5 - Správa paměti, stránkování, segmentace, Android NDK
- 6 - Windows CE, Java Native Interface (Android NDK)
- 7 - Souborové systémy (EXT2, JFFS, FAT)
- 8 - Linux
- 9 - SEAndroid
- 10 - Symbian OS
- 11 - Palm OS, WebOS
- 12 - Qt Extended, Android
- 13 - bada
Prezentace Tieto
Bonusové bodované úkoly/projekty
Zkouška 2011/2012
Kontrolní otázky a okruhy ke zkoušce (písemná forma, test)
Cvičení 2011/2012
Balík vývojových nástrojů - Android SDK, NDK, Eclipse, Cygwin (vše potřebné pro vývoj v SDK a NDK)
NDK tutoriál, pro správnou funkci je třeba modifikovat souborAndroid.mk
- 1 - Android SDK, sockets
- 2 - Android HTTP Server - Sockets, Threads (download)
- 3 - Android SDK, IPC, synchronizace, Semaphore
- 4 - Android SDK, synchronizace vláken, Messages
- 5 - Android NDK, HelloWorld, postup sestavení, prostředí Cygwin
- 6 - Android NDK, HelloWorld, postup sestavení, prostředí Cygwin
- 7 - Android NDK, objectArray (ukázka)
- 8 - Android NDK, práce s obrazovými daty, Bitmap (projekt s ukázkou)(motivace)
- 9 - Android NDK, práce se zvukovými daty, FIR, FFT (projekt s ukázkou)
- 10 - Camera View, detekce pohybu (projekt s ukázkou)
Cvičení 2010/2011
- 1 - Seznámení s SDK, emulátor - QEMU, VirtualBox
- 2 - Vytvoření image Windows CE (Platform Builder), Windows Embedded 7, POS
- 3 - Vytvoření image Linuxu (busybox, uClibc, buildroot), Android
- 4 - Windows CE, DLL knihovny, Platform Invocation Services
- 5 - Windows CE, DLL knihovny, Argument passing
- 6 - Android - SDK, AndroidManifest.XML, Activity, Resources
- 7 - Android - SDK, Activity, Extra, SharedPreferences
- 8 - Android - SDK, Canvas, Graphics
- 9 - Android - SDK, Canvas, ukázka Sokoban
- 10 - Android - NDK
Materiály ke cvičením
- Návod pro vytvoření malého Linuxového systému (buildroot)
- Win CE InteropServices
- Win CE InteropServices (C vs C#)
- Windows CE Hello World (VS projekt)
- Android (příklady ze cvičení)
- Android Sudoku
- Windows CE API
- Symbian OS
- Příklady k Symbian OS
Wiki stránka studentských projektů srovnávajících mobilní OS
Výzkum mobilních platforem (Mobile Developer Economics 2010 and Beyond)
Nástroje
Windows CE :
ELMS - software pro studenty z MSDN AA
Windows CE, Platform Builder
.NET Compact Framework MSDN
Windows CE API Reference
Prezentace Marcuse Perrymana, Windows Mobile 5.0 Operating System Overview
Linux :
Linux kernel archive
BusyBox: The Swiss Army Knife of Embedded Linux
Qt Extended (Qtopia)
Buildroot: making Embedded Linux easy
KDrive Tiny X Server
Integrated TinyX
X.Org
Android SDK
Android NDK
bada :
bada Developers
bada SDK
Symbian :
Symbian Foundation
Carbide.c++
Palm, WebOS :
Garnet OS SDK
Emulátory :
VMware, VMPlayer (free)
Open source processor emulator
Bochs IA-32 Emulator Project
Palm OS Emulator
Android Live CD