Každý mobilní přístroj se skládá z nějakých hardwarových komponent. U mobilního zařízení se konkrétně jedná o paměti RAM, ROM (popř. FLASH), procesor, displej a další "doplňky" jako je např. fotoaparát a telefonní modul apod. Všechny tyto části samy o sobě nemají žádný smysl, musíme je nějakým způsobem propojit a ovládat. Právě to, co je ovládá, se nazývá operační systém.Na následujícím obrázku je vidět základní struktura práce s počítačem resp. mobilním zařízením.
... Jak se OS spouští?
Úplným základem mobilního operačního systému je bootloader, který má za úkol vůbec nějaký operační systém spustit, popřípadě nám ho umožní do přístroje nahrát. Tento bootloader se nazývá zkratkou IPL (initial program loader) a je velice podobný BIOSu používanému u běžných stolních počítačů. IPL má za úkol spouštět SPL (secondary program loader), což je už program zodpovědný přímo za spuštění operačního systému. Oba dva programy jsou přesně vázané na typ zařízení a nelze je zaměnit. Obvyklé je, že v případě PDA výrobce zabraňuje nahrávání neoficiálních ROM takzvaným CID Lockem, který se však dá odstranit nahráním HardSPL - tedy nahráním "BIOSu", který bude ochotný zavést jakýkoliv OS. Samozřejmě kompatibilní se semotným zařízením a OS.
... K čemu slouží Operační Systém?
Každý OS se skládá z jádra a dalších nástrojů. Podstata systému je umožnit uživateli ovládat počítač a programátorům sjednotit rozhraní (API) pro ovládání funkcí OS a hardware. Pokud by nemělo zařízení OS, musel by programátor psát speciálně programy pro procesor, což by bylo nepohodlné a hlavně by aplikace mezi přístroji nebyly přenosné. Takto je možné napsat jeden program, který půjde spustit na jakémkoliv zařízení stejné platformy - OS už se postará o to, aby se například nějaká hodnota zobrazená v určitém programu zobrazovala shodně na všech zařízeních se stejným OS. Operační systém zprostředkovává také procesorový čas pro aplikace, který slouží zejména při multitaskingu, což je funkce, která umožňuje spuštění několika aplikací současně. Mutitasking je tak přímo závislý na OS, který přiděluje jednotlivým procesům dostatek paměti a výpočetního výkonu.
... Co znamená přetečení paměti a procesorový čas?
Přetečení paměti se dá popsat jako jev, ke kterému dojde, pokud nějaká aplikace uloží více dat, než se vejde do prostoru, který je pro ni vymezen (k dispozici). Takový okamžik většinou vyústí kolapsem aplikace nebo v horším případě pádem celého systému. Přidělení paměti a její správa je proto pro systém obzvláště důležitá. Pro procesorový čas platí totéž, aplikace by ve správně napsaném OS měly dostávat výkon jádra postupně, aby nedocházelo k zahlcení systému jedním programem. Pokud však k zahlcení dojde, systém by měl automaticky problémový program rozpoznat a nabídnout jeho vypnutí.
... Čím se navzájem liší jednotlivé OS?
Nejen že každý operační systém nepřistupuje k hardwaru shodně a řeší ovladače a jiné prostředky rozdílně, ale liší se i grafickým rozhraním (GUI), které je pro běžného uživatele asi nejdůležitější. Grafické rozhraní slouží k předávání dat (ovládání) od uživatele do systému a následně do jednotlivých aplikací. Systém také sjednocuje vzhled oken jednotlivých programů od různých autorů. To má za následek přehlednější a snažší orientaci a ovládaní (např. u WM víme, že křížek pro zavření resp. minimalizaci aplikace nalezneme vždy v právém horním rohu). Tento přístup je mnohem výhodnější oproti tomu, kdyby si každý programátor vytvářel svůj vlastní standard.
... Co je to ovladač?
Ovladač je software, který umožňuje ovládat hardware. Ovladače se dělí na ty, které jsou integrovány přímo v systému (pro OS v PDA to platí v 99% případů) a pak ty, které získáme na CD-ROM (např. ovladače pro BlueTooth klávesnice apod.) Funkcí ovladače je umožnit přístup operačního systému k připojenému zařízení na jeho úrovni a poskytovat případně funkce tohoto hardwaru programátorovi. Umožňuje také abstrakci, která zaručuje, že systém bude shodně pracovat například s SD kartou, MMC kartou, Hard Diskem. Jednotlivý hardware se pak podle příslušného ovladače dělí například na disky, porty, snímací zařízení, bezdrátové moduly a podle toho k nim systém přistupuje a chová se k nim abstraktně.
... Nevýhody klasického firmwaru "obyčejných" mobilních telefonů?
Rozdíl mezi firmwarem a OS se dá představit jako kdybychom z obrázku (v úvodu článku) vyškrtli položku "Application". Mobilní telefon obsahuje také hardware, který je propojen a řízen právě firmwarem, který má přesně funkce odpovídající hardwaru s uzavřeným API s tím rozdílem, že aplikace jsou již obsaženy. Neumožňuje tedy přidávat žádné programy, ovladače a další prostředky - má pouze přesně stanovené, co bude a nebude umět. Aby bylo možné přidávat do klasických mobilů s firmwarem další programy, je nutná podpora (virtualizačního nástroje) Javy. Háček je v tom, že Java se nedá nazvat jako přímo programovací jazyk - funguje na principu virtuálního stroje. Program v Javě je v podstatě zdrojový kód, který se na zařízením na kterém je spouštěn kompiluje a to celé se děje v takzvaném virtuálním stroji. Tento virtuální stroj je pak vepsán přímo do systému, kde stejně jako program určený pro fotoaparát nebo pro zprávy SMS používá funkce systému, které byly pevně nastaveny. Z tohoto plyne, že Javový program může používat jen to, co je v systému dáno z výroby, kdežto operační systém nemá v podstatě žádné omezení, co se programů týče - záleží jen na fantazii programátora. Pro Javový telefon není možné například napsat aplikaci, která by nahradila třeba správce SMS - to vše a mnohem více však v OS možné je.