Operační systémy pro mobilní zařízení (OSMZ)

Týden XII. (26.4.-30.4.2021)

Přednáška k PalmOS a Symbianu je z dnešního pohledu již ohlédnutí k technologiím, které nepřežily do dnešních dnů a byly „převálcovány“ operačními systémy Android a iOS. Obsah přednášky, tak již není ani předmětem zkoušky. Pokud by probíhala denní výuka, tak bych na přednášce předváděl různé exempláře ze své sbírky historických PDA a mohli byste si vyzkoušet, jak vypadala mobilní zařízení s opravdu omezenými prostředky (RAM i CPU). Pokusím se Vám tento zážitek poskytnout zprostředkovaně a nahrát video ukazující tato zařízení a jejich funkce.

PalmOS byl v roce 2002 něčím podobným čím je Android dnes – patřilo mu přes 80% celkového trhu s mobilními zařízeními. Pro ilustraci se doporučuji podívat na typický PalmOS organizér z pohledu novodobé „recenze“. Při jejich návrhu vycházeli konstruktéři z předpokladu, že ho uživatel bude používat společně se stolním počítačem a Palm bude sloužit jen jako inteligentní diář a prohlížeč. Proto jako základ zvolili 16bitové procesor firmy Motorola MC68000, taktované v základu na 16 MHz. V novějších modelech je frekvence procesoru dvojnásobná a v modelech s PalmOS 5.0 je již použit procesor ARM taktovaný na vyšších frekvencích.

Počítače s operačním systémem PalmOS do verze 4.1 nejsou určeny pro multimediální aplikace a nedisponují ani vhodnými hardwarovými prostředky. To se začalo později měnit, ale od verze Palm OS5 začal systém i hardware výrazně zaostávat za svým rivalem Windows PocketPC z dílen Microsoftu a po několik letech úplně skončil. Jeho historie je shrnuta na Wikipedii. V současné době se s těmito zařízeními již téměř jistě nesetkáte (pokud nejste sběrateli) a pokud se o něm objeví zmínka, tak je spíše předmětem různých experimentů a technologických demonstrací, jako je například toto technologické demo ukazující běh PalmOS na STM32F4 Discovery kitu. Mnohá tato zařízení měla velmi skromnou výbavu (2MB ROM a 8MB RAM) a tak bylo potřeba využít i různé „vychytávky“ a hardwarové hacky které umožňovaly obejít mnohá omezení. Místo klávesnice byl pro vstup znaků zvolen systém Graffiti (později Graffiti 2); tato změna přinesla významné snížení ceny. Rozlišení displeje většiny počítačů Palm je 160 na 160 obrazových bodů a 16 odstínu šedi; displej je přitom velký 5 – 6 cm. Z 8 MB paměti RAM je využito 512 kB pro zásobník a proměnné operačního systému a zbylých 7,5 MB je možné zcela zaplnit aplikacemi a daty. Průměrná velikost aplikace pro PalmOS se navíc pohybuje okolo 50 kB.

V přednášce jsou zmíněny techniky ochrany paměti (procesor nemá MMU) a způsob ukládání dat v podobě záznamů který umožňoval efektivní využití každého bajtu paměti. Operační systém neumožňoval preemptivní multitasking a využívá kooperace ze strany aplikací. To vyžaduje, aby byly všechny aplikace vystavěny na podobném základě. Srdcem každého programu musí být takzvaná smyčka zpracování událostí, ve které zpracováváme zprávy o systémových událostech, které byly naší aplikaci doručeny operačním systémem. Pokud aplikace přestane zpracovávat události, dojde k „zatuhnutí“ počítače a nutnosti jej restartovat. Operační systém PalmOS udržuje zprávy o událostech ve frontě, do které se na jedné straně zprávy postupně ukládají a na straně druhé jsou aktivní aplikací nebo operačním systémem postupně a různě rychle odebírány. (PalmOS ve skutečnosti udržuje fronty dvě: první pro pohyb pera po plošce Graffiti, který generuje mnoho událostí, a druhou pro všechny ostatní události systému). Z dnešního pohledu jsou ale tyto postupy již překonány a má smysl o nich uvažovat jen jako o inspiraci pro technologie, které se objevily později.

PREZENTACE

BONUS MATERIÁLY

Kniha Úvod do programování pro PalmOS
Simulátor PalmOS + kolekce aplikací