6-Lekciya. Mobil operacion sistemalar platformasi hám arxitekturasi
Android platformasi dúzilisi
Android platformasi apparat (apparat), yad hám processlerdi basqarıw ushın Linux-ga tiykarlanǵan operatsion sistema programmalıq támiynat steki bolıp tabıladı. Bul stektiń túrli komponentleri ierarxiyaniń bir neshe dárejelerin ańlatadı hám ulıwma alǵanda, mobil apparattıń islewin támiyinleydi. Bul komponentlerdiń geyparaları tuwrıdan-tuwrı apparat qurılmaları menen islew ushın talap etiledi, basqaları telefoniya, jaylasıwdı anıqlaw, multimedia hám basqalar menen baylanıslı funktsiyalardı támiyinleydi, úshinshisi bolsa mobil apparattıń kóplegen múmkinshiliklerin ámelge asırıw ushın qosımshalar ushın tiykar jaratadı. Basqasha etip aytqanda, Android platformasi operatsion sistemanıń ózin, orta programmanı hám qosımshalar kompleksin (da ornatılǵan, da úshinshi tárep) óz ishine aladı.
Biz qashannan berli úyrenip alǵanimizdek, Android - bul programmalıq támiynat kompleksi, yaǵnıy hár qıylı programmalıq támiynat komponentleriniń pútkil kompleksi. Basqa tárepden, Android apparatı - bul ekran, giltler, batareya, protsessor, yad, barlıq túrdegi sensorlar hám sensorlar hám basqalar sıyaqlı apparat quralları kompleksi. Bulardıń barlıǵı Android platformasi haqqında tómendegi dúzılıwǵe iye bolǵan birden-bir apparat -programmalıq kompleks retinde aytiw imkaniyatın beredi:
- Apparat - apparattıń islewin támiyinleytuǵın elementler kompleksi.
- Linux Kernel (+Drivers) - Linux operatsion sistemasınıń yadrosı hám apparat hám yad bólistiriwin, wazıypalardı basqarıw, qawipsizlik hám taǵı basqalardı basqarıwdıń tiykarǵı mexanizmlerin támiyinleytuǵın drayverlar kompleksi.
kitapxanalar (C/C++) - Hár qıylı operatsion sistema komponentleri tárepinen paydalanıladı.
- Dalvik virtual Machine (DvM) - Android qosımshaları hám operatsion sistema (OT) komponentleri ushın jumıs ortalıǵın támiyinleytuǵın Dalvik virtual mashinası.
- Core Library - tiykarǵı Android kitapxanaları Java til kitapxanası (Java API) yadrosında ámeldegi bolǵan kóplegen funktsiyalardı, sonıń menen birge Android operatsion sistemasınıń arnawlı funktsiyaların óz ishine aladı.
- Application Framework (application framework) - qosımshalardı operatsion sistema funksiyaları hám kitapxanalarına interfeys menen támiyinleytuǵın Java klassları kompleksi (API).
- Ornatılǵan hám paydalanıwshı qosımshalar.
Android platformasi arxitekturası
Android arxitekturasın altı dárejege bolıw múmkin: apparat dárejesi; Linux yadrosı dárejesi; jergilikli kitapxanalar dárejesi; Android jumıs qatlamı; programma ramkası qatlamı (Application Framework); programma qatlamı. 2.1-suwretde Android platformasining arxitekturası kórsetilgen.
suwretde Android platformasining arxitekturası keltirilgen.
Linux yadrosı hám drayverlar kompleksi. Android platformasining yadrosı Linux operatsion sistemasınıń yadrosı (Android versiyasına qaray 2.6.25 - 3.0.31 versiyaları), operatsion sistemanıń tiykarǵı wazıypaların sheshiw hám apparat penen óz-ara tásir qılıw ushın juwapker bolıp tabıladı.
Bul qatlam processlerdi basqarıw hám yadtı bólistiriw, fayl sistemasın basqarıw hám qawipsizlik boyınsha tiykarǵı xızmetlerdi, sonıń menen birge, tarmaq funktsiyaların basqarıw xızmetlerin (tarmaq stekini) óz ishine aladı. Tek yadro dárejesinde apparat apparatı menen tuwrıdan-tuwrı óz-ara tásir drayverlar kompleksi arqalı ámelge asıriladı. Yadro dárejesiniń tiykarǵı komponentleri tómendegiler bolıp tabıladı:
- processlerara baylanıs drayveri (IPC Driver).
- quwattı basqarıw drayveri (Android Power Management).
- mobil apparatqa kiritilgen úskeneler ushın drayverlar kompleksi[2].
Android operatsion sisteması Linux yadrosına tiykarlanǵan bolsa -da, olar ortasında birqansha ayırmashılıqlar bar (Android hám Linux eń sap formada). Sonday etip, Android, mısalı, yadtı ajıratıw mexanizmlerin, processler ortasındaǵı óz-ara tásirdi hám basqalardı óz ishine aladı.
IPC drayver. Android-dagi qosımshalar hám xızmetler bir-biri menen óz-ara baylanısda bolıwı hám ulıwma yaddan paydalanıwı múmkin bolǵan bólek (qorǵawlanǵan) processlerde isleydi. Android platformasi IPC (Inter-process Communication) mexanizmin támiyinleydi, bul sistema daǵı processler ortasındaǵı baylanıstıń tiykarǵı mexanizmi. IPC drayveri processlerdiń óz-ara tásiri, processlerde aǵımlar (potoklar) jaratıw hám qayta islew, processlerde ob'ekt siltemelerin esaplaw hám kórsetiw, processler ortasındaǵı sinxron sorawlar funktsiyaların támiyinleydi.
Energiya basqarıwı. Android Power Management - bul mobil apparatlar ushın optimallastırılgan, mobil apparatlar ushın arnawlı Linux quwat basqarıwı drayveri. Bul sistemanıń tiykarǵı waziypası kem quwat tutınıwı rejimlerin qollap-quwatlaw arqalı mobil apparat batareyasınan puxta paydalanıw bolıp tabıladı.
Úskene drayverleri. Android programmalıq támiynat kompleksi apparatlardıń apparat konfiguratsiyasini tańlawda zárúr bolǵan úlken maslasıwshanlıq menen jaratılǵan. Basqasha etip aytqanda, Android programmalıq támiynat stek arxitekturası kontseptsiyası mobil apparatlarǵa qosımsha funktsiyalardı támiyinleytuǵın kóplegen túrli apparat komponentleri hám qurallarından paydalanıw múmkinshiligin beredi.
Joqarıda aytıp ótilgeni sıyaqlı, apparat apparatı menen tuwrıdan-tuwrı óz-ara tásir tek Linux operatsion sistemasınıń yadro dárejesinde júz boladı, yaǵnıy Android programmalıq támiynatınıń basqa dárejeleri ushın barlıq apparat ayırmashılıqları ashıq bolıwı kerek. Naǵız óziniń ushın yadro dárejesi apparatda ámeldegi bolǵan apparat ushın barlıq kerekli drayverlarni óz ishine aladı. Drayvlar kompleksi apparattıń óndiriwshisi hám modeline (yaǵnıy apparat konfiguratsiyasina qaray) qaray parıq etiwi múmkin.
Jergilikli kitapxanalar. Linux yadrosı ústindegi keyingi qatlam túrli OS komponentleri tárepinen isletiletuǵın kitapxanalar kompleksin (C/C++ de jazılǵan) óz ishine aladı. Bul dárejedegi kitapxanalardı funktsional maqsetlerine kóre tómendegi gruppalarǵa bolıw múmkin:
- C tilinde jazılǵan bionik sistema kitapxanası (libc) (jumıs waqıtı kitapxanası).
- sirt menejeri.
- Funktsional C/C++ kitapxanaları.
Bionik sistema kitapxanası (libc). Sistema kitapxanası Berkley Software Distribution (BSD) litsenziyasına tiykarlanǵan hám Linux tiykarındaǵı mobil apparatlar ushın mólsherlengen. Google tómendegi sebeplerge kóre bul kitapxananıń óz versiyasın (libc Bionic) islep shıqtı:
- Yadtı tejew. Bul kitapxana hár bir processga júklengenligi sebepli, onıń kólemi múmkinshiligi barınsha kishi bolıwı kerek. Bionic kitapxanasınıń kólemi tek 200 KB.
- Maksimal islew. Bionic kitapxanası mobil apparatda islew ushın optimallastırılgan.
Bionic kitapxanasında Android ushın zárúrli sistema xızmetlerin, atap aytqanda, sistema hádiyselerin dizimge alıw xızmeti ushın ornatılǵan járdem bar. Bionic kitapxanası GNU libc hám POSIX standartına uyqas kelmeydi.
Sirt menejer. Android sisteması Compiz-ga uqsas kompozitsion sirt basqarıwshısınan paydalanadı (3D grafikalardı tezlestiriw ushın OpenGL-den paydalanatuǵın X Window System ushın kompozit ayna basqarıwshısı). Sirt menejeri ramka buferine barlıq sirtni kórsetiw (sızıw ) menen isleydi. Menejer bir neshe qosımshalardan 2 D hám 3 D sirt hám sirtlarni birlestira aladı. Grafiklardı tikkeley displey buferine sızıw ornına sistema kiretuǵın sızılma buyrıqların freymdan tısqarı buferge jiberedi, ol erda olar basqalar menen birge toplanıp, kompozitsiyani payda etedi hám keyin ekranda kórsetiledi. Bul processni 2. 2-suwretde kóriw múmkin.
súwret - Júzeki basqarıwshı tárepinen grafik maǵlıwmatlardı qayta islew
funktsional kitapxanalar. Android operatsion sistemasınıń túrli komponentleri tárepinen paydalaniletuǵın kitapxanalar. Olardan geyparaları tómende keltirilgen:
- Media Framework - multimedia funksiyaların (audio hám video jırlaw ) hám túrli media formatların (MPEG4, H. 264, MP3, WMA, WAv, AAC, AMR, JPG, PNG) qollap -quwatlaydı.
- SQLite -- SQLite relyatsion maǵlıwmatlar bazasın qollap-quwatlaw kitapxanası.
- OpenGL ES - 3 D grafikalar menen islew ushın qural.
- FreeType - rastr hám vektor shriftler menen islew ushın mólsherlengen shriftler kitapxanası.
- LibWebCore - veb-brauzerdi usınıs etedi (WebKit dvigateli).
- SGL - 2 D grafiklardı qollap-quwatlaw. Android sonıń menen birge, C/C++ de jazılǵan óziniń Skia 2 D grafik kitapxanasın óz ishine aladı (Skia da ataqlı Google Chrome brauzeriniń yadrosın quraydı ).
- SSL (Secure Sockets Layer) - kitapxana qawipsiz (qorǵawlanǵan ) rejimde rozetkalar menen islew ushın mólsherlengen.
Islep shıǵıwshılar ushın bul dárejedegi kitapxanalar funktsiyalarına kirisiw tómende tolıq talqılaw etiletuǵın Application Framework (qosımshalar ramkası dárejesi) den paydalanıw arqalı ámelge asıriladı.
Android jumıs waqıtı (Android Runtime). Android Runtime Environment Android-dıń tiykarǵı kitapxanaları hám Dalvik virtual mashinasınan ibarat. Naǵız ózi qatlam Android qosımshaları ushın jumıs waqıtı ortalıǵın támiyinleydi.
Tiykarǵı kitapxanalar tiykarǵı Java til kitapxanaları (Java API) ushın ámeldegi bolǵan tómen dárejedegi funksiyalardıń kóbisin hám de Android operatsion sistemasınıń arnawlı qásiyetlerin támiyinleydi. Bul kitapxanalar Android ushın Java programmaların islep shıǵıwdıń tiykarǵı platformasi esaplanadı.
Dalvik virtual mashinası (DvM). Android mobil platformasining bir bólegi retinde Den Barnshteyn hám basqalar tárepinen islep shıǵılǵan hám jazılǵan registrga tiykarlanǵan Java virtual mashinası.
Kem yad tutınıwı ushın optimallastırılgan Dalvik virtual mashinası kommunikatorlar hám planshet kompyuterler sıyaqlı mobil hám ornatılǵan apparatlarda keń qollanılatuǵın RISC protsessor arxitekturalarında islew ushın júdá uyqas bolǵan standart bolmaǵan úlken-kishi registrga bayqaǵısh virtual mashina bolıp tabıladı. Kópshilik jumıs stoli virtual mashinaları stekga tiykarlanǵan, atap aytqanda Oracle standart Java virtual mashinası.
Dalvik programmaları Java tilinde jazılǵan. Soǵan qaramay, standart Java báyit-kodı isletilmaydi; bunıń ornına Dalvik VM óz formatındaǵı báyit kodın atqaradı. Java derek kodın (javac járdeminde) kompilyatsiya etkenden keyin, "Android SDK" den dx járdem programması. class faylların Dalvik tárepinen aytıw ushın sáykes keletuǵın. dex formatına ózgertiredi.
Ulıwma alǵanda, Dalvik Android operatsion sistemasınıń komponentlerin (programma qatlamı) hám paydalanıwshı qosımshaların jumısqa túsiriw ushın ortalıq dep aytiwimız múmkin. Hár bir process óziniń bólek mánzil maydanında isleydi. Paydalanıwshı programmanı jumısqa túsirgende (yamasa operatsion sistema onıń strukturalıq bólimlerinen birin jumısqa túsirgende), Dalvik virtual Machine Core (Zygote Dalvik vM) ulıwma yadta bólek qorǵawlanǵan processni jaratadı, bunda vM tikkeley islew ortalıǵı retinde jaylastırıladı. qosımsha. Basqasha etip aytqanda, Android ishkerinen Dalvik virtual mashinaları kompleksine uqsaydı, olardıń hár birinde ámeliy wazıypa (qosımsha ) atqarıladı.
Qosımsha ramkası qatlamı. Qosımsha ramka qatlamı - bul Android-dıń jergilikli kitapxanaları hám jumıs waqıtı qatlamı hám programma qatlamı ortasındaǵı baylanıslılıq. Bul qatlam qosımshalardı operatsion sistema funksiyalarına interfeysler (Java klassları kompleksi, API) menen támiyinleydi. Bul qatlam qosımshalardıń turmıs aylanıwın, paketlerdi, resursların hám taǵı basqalardı basqarıw ushın tiykarǵı Android xızmetlerin óz ishine aladı. Paydalanıwshı qosımshaları sistema qosımshaları sıyaqlı birdey API larga tolıq kiriw ruxsatına iye.
Bul dárejedegi kitapxanalar hám xızmetler Android operatsion sistemasındaǵı barlıq qosımshalar (sistema hám paydalanıwshı) ushın tiykar bolıp, tómendegilerdi óz ishine aladı:
- Paydalanıwshı interfeysi elementleriniń bay hám keńeytiriletuǵın kompleksi (usńnıs etilgen, Views). Bul derlik barlıq qosımshalarda qollanılatuǵın tekst maydanları, tuymeler, dizimler, kesteler, ornatılǵan veb-brauzer hám basqalar.
- Activity Manager - qosımshanıń turmıs aylanıwın hám Aktivler stekini (Activities jumısqa túsiriw tariyxı) basqaradi. Xızmetler ortasında navigatsiya sistemasın támiyinleydi.
- Package Manager - Paket menejeri apparatda programma paketlerin ornatıw hám jaylastırıwdı basqaradi.
- Resource Manager - qosımsha resurslarına (qatarlar, bahalar, grafikalar, paydalanıwshı interfeysi maketlari hám basqalar ) kirisiw funktsiyaların óz ishine aladı.
- Content Providers - qosımshalarǵa basqa qosımshalar maǵlıwmatlarına kirisiw imkaniyatın beretuǵın yamasa óz maǵlıwmatlarına kirisiwdi támiyinleytuǵın kontent provayderlari.
- Telephony Manager - telefoniya menejeri, telefoniyaning tiykarǵı funktsiyalarına (uyali tarmaq, qońırawlar hám basqalar haqqında maǵlıwmat alıw) kirisiwdi (API) támiyinleydi.
- Location Manager - jaylasıw menejeri, qosımshalardı ámeldegi jaylasıw jáne onıń ózgeriwi haqqındaǵı maǵlıwmatlar menen islew funktsiyaları menen támiyinleydi.
- Notification Manager - bildiriw xatı menejeri, Android bildiriw xatı sisteması menen islew ushın API usınıs etedi.
Qosımshalar ramkası dárejesindegi komponentler paydalanıw ushın qolay bolıwı hám qosımshalardı islep shıǵıwda operatsion sistema funktsiyaları hám jergilikli kitapxanalarǵa múmkinshiligi barınsha ańsat kirisiwdi támiyinlew ushın qurılǵan.
Qosımsha qatlamı. Android mobil apparatı tiykarǵı yamasa basqasha aytqanda, sistema qosımshaları (mısalı, telefon, pochta, xabarlar, kontaktlar, brauzer, kartalar hám basqalar) menen birge keledi. Sistemaǵa úshinshi tárep (yamasa arnawlı) qosımshalardı qosıw (ornatıw) da múmkin. Bul qosımshalardıń barlıǵı Java tilinde jazılǵan. Zárúrli fakt sonda, Android-de sistema hám úshinshi tárep qosımshaları ortasında parq joq. Bul, atap aytqanda, hár qanday sistema qosımshası alternativ (úshinshi tárep) qosımshası menen almastırılıwı múmkinligin ańlatadı.
Hár qanday programma operatsion sistema tárepinen usınıs etilgen funksiyalarǵa tolıq kiriw ruxsatına iye. Barlıq qosımshalardıń arxitekturası basqa qosımshalardıń bólimleri yamasa funksiyalarınan ańsatǵana paydalanıw múmkinshiligi menen qurılǵan.
Do'stlaringiz bilan baham: |