Obrázek 3: Architektura OS Android [7]
3.1.1
Linuxové jádro
Tato nejnižší vrstva je tvořena linuxovým jádrem, jež se oproti klasickým linuxovým distribucím
lehce liší, a je přizpůsobeno pro běh na mobilních zařízeních. Tato vrstva poskytuje základní
systémovou funkcionalitu, jako např. správa procesů, správa paměti, či práce s vstupně výstupními
operacemi. Další funkcí této vrstvy je poskytnutí abstrakce při používání hardwarových prvků, jako
fotoaparát, klávesnice, displej atd. [7]
3.1.2
Knihovny
Nad linuxovým jádrem se nachází vrstva sady knihoven. Mezi nejdůležitější knihovny patří WebKit
engine poskytující jádro webovým prohlížečům, klasické libc knihovny, knihovny pro práci
s multimédii, SQL lite databázový systém, knihovny pro práci s grafikou a mnohé další. Aplikace tyto
knihovny využívají skrz aplikační framework [7].
3.1.3
Běhové prostředí
Běhové prostředí androidu je tvořeno komponentou zvanou Dalvik Virtual Machine, což je obdoba
Java Virtual Machine, ale speciálně navržena a optimalizována pro android. S příchodem androidu
5.0 je však tato komponenta nahrazena novým běhovým prostředím ART (Android Runtime). Toto
běhové prostředí využívá tzv. ahead-of-time (česky s předstihem) kompilaci, díky níž se pomocí
utility dex2oat aplikace přeloží z formátu DEX (Dalvik Executable) na spustitelný formát pro dané
zařízení. Nové běhové prostředí vylepšuje výkon aplikací, má lepší správu paměti a umožňuje také
lepší ladění a profilování aplikací [9].
3.1.4
Aplikační framefork
Tato vrstva poskytuje aplikacím vysokoúrovňové služby ve formě Java tříd. Aplikace využívají těchto
služeb pro implementaci uživatelského rozhraní, práci se zdroji (texty, grafika, obrázky),
s internetem, polohou, upozorněními, telefonními sítěmi atd [7].
9
Do'stlaringiz bilan baham: |