2024. április 27., szombat

Gyorskeresés

Android rendszer működése, felépítése

Írta: | Kulcsszavak: android . rendszer . működése . felépítése

[ ÚJ BEJEGYZÉS ]

Az android architektúrája:


[+]

Linux kernel: Itt található meg a rendszer működéséhez nélkülözhetetlen driverek. Ezek a driverek írják le a hardverrel való kommunikáció folyamatát, így ezen keresztül tudja a kernel vezérelni a hardverelemeket. A kernelre gondoljunk úgy mint egy hídra, ami összeköti a hardvert a szoftverrel.

Libraries: Különböző C/C++ nyelven íródott a rendszer működéséhez (is) szükséges könyvtárak. Ilyenek többek között: adatbázis-kezelő, 2D megjelenítő, stb. Ezeket az alkalmazás keretrendszerén (Application framework) keresztül érhetjük el.

Android runtime: Főbb a Java-hoz kapcsolódó rutinkönyvtárakat, illetve a Dalvik Virtual Machine-t tartalmazza. Lejjebb részletesen kifejtem, hogy mi is az a Dalvik VM és miért is használjuk.

Application framework: Ezen keresztül érheti el egy alkalmazás a hardvert, küldhet a felhasználónak értesítés, futtathat háttérfolyamatot, stb.

Applications: Nevéből értetődően az androidra megírt kész alkalmazások. Ilyenek a főbb funkciókat ellátó (Névjegyzék, SMS), előretelepített (Chrome, Google Play), illetve az utólag feltelepített alkalmazások is.

Dalvik Virtual Machine:
Az Android alkalmazások nem natív kódban íródnak (például C-ben), hanem Java nyelven. Erre azért van szükség, mert az androidos gyártók nagyon széles palettáról válogathatnak össze hardvert az eszközeikhez, és egyáltalán nem biztos, hogy ha egy natív kódú programot lefordítunk majd futtatunk egy eszközön, akkor az a másik eszközön (más hardveren) is futni fog. Mivel a processzor architektúrája eltérő lehet, ezért alkalmazni kell egy Java interpretert, azaz fordítót. Ezt legegyszerűbben egy virtuális géppel tehették meg az android fejlesztői, ez lett a Dalvik virtuális gép. Az már csak egy érdekesség, hogy azért lett Dalvik a neve, mert az eredeti programot fejlesztő, izlandi származású Dan Bornstein ősei a szigetország Dalvík nevű falujában éltek. :)
A Dalvik gép legnagyobb előnye a sebessége. Az Androidra írt programok futás előtt Dalvik Executable (.dex) formátumra konvertálódnak, amellyel processzoridőt és memóriát lehet megspórolni. A másik sebességnövelő tényező a 2.2-es Froyóban bemutatkozott JIT (Just In Time) fordító. A lényege az, hogy a program indításakor nem kell az egész alkalmazásnak lefordulnia, elég csak futásidőben, részenként, amikor az adott részegységre szükség van. Ezzel akár három-, négyszeres sebességnövekedést is el lehet érni.

ART, a leendőbeli utód:
Az android 4.4 verziójába belekerült az úgynevezett ART (Android Runtime) futtatói környezet ami hamarosan a Dalvik VM-et fogja leváltani. Működési elve, hogy nem futási időben (JIT - just in time) fordítja az alkalmazásokat, hanem a telepítés során (AOT - ahead of time) egyszer. Ennek előnye, hogy nem kell minden egyes indításkor újrafordítani az alkalmazást, hanem csak a telepítés során egyszer, amellyel energiát spórolunk meg, ezáltal növelhetjük az eszközünk üzemidejét.

Az android fájlrendszerének felépítése:
Mivel az android linux alapú így annak felépítéséből adódóan az android is fa hierarchiát használ. Van egy gyökérkönyvtár (ROOT) amiből kiindulva az összes meghajtó fel van rá "fűzve" egy megadott könyvtárba. Általában ez a /mnt könyvtárban található.

Főbb könyvtárak és szerepük:
Különböző rendszerek esetén pár dologban eltérhetnek az itt leírtak (belső memória, sdkártya, stb.).

A rendszer főbb könyvtárai:
/boot - kernelfájlok
/cache - alkalmazás gyorsítótár fájljai
/data - felhasználói adatok fájljai
/dev - Az eszközhöz kapcsolódó speciális fájlok
/etc - Rendszerkonfigurációs fájlok (Wifi, Bluetooth, GPS, stb.)
/mnt - felcsatolt meghajtók, védett alkalmazások
/proc - Virtuális fájlrendszer az alkalmazások számára
/system - Rendszerfájlok

/data könyvtár főbb alkönyvtárai:
/data/anr - jelentések az alkalmazásfagyásokról (anr = app not responding)
/data/app - a felhasználó által telepített alkalmazások .apk fájljai
/data/backup - Google felhő mentés fájljai
/data/dalvik-cache - Az alkalmazások eszközre optimalizált (Dalvik VM) gyorsítótár fájljai
/data/data - alkalmazás adatok
/data/local - Ideiglenes fájlok (Pl.: Google Play-ből letöltött apk)
/data/misc - Rendszerkonfigurációs fájlok (VPN, WiFi, stb.)
/data/system - Rendszerhez kapcsolódó adatok fájljai (Pl.: akkumulátorhasználat)
/data/tombstones - Rendszerösszeomlás jelentések

/mnt könyvtár főbb alkönyvtárai:
/mnt/asec - védett alkalmazások
/mnt/emmc - belső memória tartalma
/mnt/sdcard - memóriakártya tartalma

/system könyvtár főbb alkönyvtárai:
/system/app - Gyárilag feltelepített alkalmazások .apk fájljai
/system/etc - Rendszerkonfigurációs fájlok (Wifi, Bluetooth, GPS, stb.)
/system/framework - Az alkalmazás keretrendszerhez tartozó .jar fájlok (Lásd android architekúra)
/system/lib - A rendszer működéséhez szükséges könyvtárak. (Lásd android architekúra)
/system/media - Rendszerbetöltő animáció, gyárilag feltelepített rendszerhangok
/system/build.prop - Az eszköz beállításait, specifikációját tartalmazó fájl.

A következő részben az alkalmazások felépítését fogom taglalni.

Forrás:
Android Developer weboldal

Hozzászólások

(#1) petipetya


petipetya
nagyúr

Majdnem jó, ám az ART futtatási környezet kimaradt.

"nincs rá lezsóidő"

(#2) jety91 válasza petipetya (#1) üzenetére


jety91
őstag

Jogos. Beleírtam, köszi az észrevételt. :K

(#3) sonar


sonar
addikt

hogy meglegyen

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#4) Zolee11


Zolee11
senior tag

Köszi az összefoglalót!
Várom a folytatást! :K

no brain, no problem

(#5) Titi76


Titi76
aktív tag

+

iPhone 14, Kia NIRO 2018 PHEV, Lenovo Legion

(#6) reggimon


reggimon
csendes tag

Üdv!

Ezen könyvtárak, rétegek közül hova kerül a szolgáltatók SIM korlátozása, kódja?
Mivel ez már nem illegális, a kérdés sem az.
Az a helyzet, hogy amit küldött a szolgáltató nem működött és nem hajlandó másikat küldeni, azt mondta ezt kapta a gyártótól, a gyártó meg azt mondja ő nem tud segíteni, csak a szolgáltató.
Ezért gondoltam akkor valahogy feltöröm, hiszen a telefon az enyém, nincs hűségidő, nem is volt egyébként, feltöltőkártyás.

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.