Android

Az Android egy Linux kernel fölött futó, mobil operációs rendszer. Fejlesztését az Android, Inc. kezdte meg, amit később a Google felvásárolt, majd az Open Handset Alliance nevű szövetség vette át a fejlesztését. A fejlesztők Java nyelven írhatnak alá menedzselt kódot, az eszközt a Google által fejlesztett Java programkönyvtárokon keresztül vezérelve.

Az Android felhasználói szemmel

Manapság leginkább mobil eszközökön találkozhatunk Android operációs rendszerrel. A platform lényeges része a Google eszköztár, amely lehetővé teszi, hogy a Google (illetve Gmail) azonosítónk megadása után a névjegyzéket, az üzeneteinket, a beszélgetéseinket, a naptárunkat, illetve a webes fotóalbumunkat az operációs rendszer szinkronban tartsa. Ha levelezni kezdünk egy új partnerrel a Gmail keretein belül, akkor az Android névjegyzékében megjelenik az új név; ha egy telefonhívás után felvesszük a névjegyzékbe a hívó adatait, akkor a Gmail kapcsolataink között jelenik meg szinte azonnal, s igaz ez a naptárunkra, illetve a GTalk beszélgetéseinkre is. A mobilban lévő kamera segítségével készített fotókat meg tudjuk osztani a Picasa portálon, illetve a Latitude használatával megoszthatjuk a pontos helyzetünket ismerőseinkkel.

Képesek vagyunk egy Chrome leszármazott böngészővel a világhálót elérni, a mobil eszköz tudása megfelel egy átlagos böngésző tudásának (2.2 verzió esetén Flash Lite 10.1 révén Flash tartalom is működik), bár az élménynek a kijelző mérete szab határokat, a szöveg újratördelése és a kényelmes zoom funkciók okán mégis hasznos lehet utazás közbeni internetezésre.

A platform alapból támogat különféle multimédia formátumokat, legyen az zene vagy videó, ám a letölthető programok révén szinte alig van olyan média fájl, amelyet ne tudnánk megszólaltatni.

A platformról bővebben

Az Android platform abból a célból született, hogy egységes nyílt forrású operációs rendszere legyen a mobil eszközöknek (és itt elsősorban az okostelefon kategóriát kell érteni, mintsem egyszerű mobiltelefonokat). Az elképzelés alapja egy Linux alapú operációs rendszer volt, amelyet úgy alakítanak át, hogy képes legyen problémák nélkül kezelni a mobil eszközök integrált hardvereit (érintőképernyő, WiFi, HSDPA, Bluetooth, stb.). Az első lépéseknél nem volt szó Java nyelvről, azonban a Google 2005 júliusában megvásárolta az Android nevű céget, és új irányt adott a fejlesztésnek: a Linux kernel fölé egy virtuális gép került, amely a felhasználói felület kezeléséért és az alkalmazások futtatásáért felelős.

Ez nem ment egyik napról a másikra, és a Google az első évben igen csöndesen dolgozott, 2007 elején kezdtek kiszivárogni olyan hírek, hogy a Google belép a mobil piacra. Az iparági pletykák végül igaznak bizonyultak, bár sok esetben túlzó állításokat és rémhíreket lehetett olvasni a híroldalakon. 2007. november 5-én az Open Handset Alliance bejelentette az Android platformot, kiknek tagjai között több tucat mobil technológiában érdekelt céget megtalálunk, akik érdekeltek egy szabad és nyílt forrású platform bevezetésében.

Napjainkra az Android platform iránt a mobiltelefon és a Tablet gyártók izgalmát leszámítva nagy érdeklődés mutatkozik a gépjárművek fedélzeti számítógépét és navigációját szállító cégek, illetve az ipari automatizálás irányából is, hiszen minden olyan helyen kényelmes az Android, ahol alapvetően kicsi a kijelző, limitáltak az erőforrások és az adatbevitel nem egérrel és/vagy billentyűzettel történik.

A platform egyszerűnek tűnik, és messziről nézve egyszerű is, vessünk egy pillantást az alábbi ábrára:

Android system

Mint láthatjuk, a platform alapját a vörös színnel jelölt Linux kernel adja, amely tartalmazza a hardver által kezelendő eszközök meghajtó programjait. Ezeket azon cégek készítik el, amelyek az Android platformot saját készülékükön használni kívánják, hiszen a gyártónál jobban más nem ismerheti a mobil eszközbe integrált perifériákat. Ez a kis méretű kernel adja a memória kezelését, a folyamatok ütemezését és az alacsony fogyasztást elősegítő teljesítmény-kezelést is.

A kernel szolgáltatásait használják a Linux rendszerekben meglévő különféle programkönyvtárak, mint a libc, az SSL vagy az SQLite; ezek C/C++ nyelven vannak megvalósítva, és a Linux kernelen futnak közvetlenül. Részben ezekre épül a Dalvik virtuális gép, amely egyáltalán nem kompatibilis a Sun virtuális gépével, teljesen más az utasítás készlete, és más bináris programot futtat. A Java programok nem egy-egy .class állományba kerülnek fordítás után, hanem egy nagyobb Dalvik Executable formátumba, amelynek kiterjesztése .dex, és általában kisebb, mint a forrásul szolgáló .class állományok mérete, mivel a több Java fájlban megtalálható konstansokat csak egyszer fordítja bele a Dalvik fordító. A virtuális gép más, mint a Java alatti megszokott virtuális gép, vagyis a Java csak mint nyelv jelenik meg!

A kék színnel jelölt részekben már csak Java forrást találunk, amelyet a virtuális gép futtat, s ez adja az Android lényegét: a látható és tapintható operációs rendszert, illetve a futó programokat. A virtuális gép akár teljesen elrejti a Linux által használt fájlrendszert, és csak az Android Runtime által biztosított fájlrendszert láthatjuk.