Fastboot və ya ADB-nin necə işlədiyini heç düşünmüsünüzmü? Yaxud Android ilə işləyən smartfonu kərpicə çevirmək niyə demək olar ki, mümkün deyil? Və ya bəlkə siz Xposed çərçivəsinin sehrinin harada olduğunu və /system/etc/init.d açılış skriptlərinin nə üçün lazım olduğunu çoxdan bilmək istəyirsiniz? Bərpa konsolu haqqında nə demək olar? Bu Android-in bir hissəsidir və ya özündə bir şeydir və niyə müntəzəm bərpa üçüncü tərəf proqram təminatını quraşdırmaq üçün uyğun deyil? Bütün bu və bir çox digər suallara bu məqalədə cavab tapacaqsınız.

Android necə işləyir

Proqram sistemlərinin gizli imkanlarını onların işləmə prinsipini başa düşməklə öyrənə bilərsiniz. Bəzi hallarda bunu etmək çətindir, çünki sistem kodu bağlana bilər, lakin Android vəziyyətində biz bütün sistemi içəridən və xaricdən öyrənə bilərik. Bu yazıda mən Android-in bütün nüansları haqqında danışmayacağam və yalnız OS-nin necə başladığına və güc düyməsini basmaqla iş masasının görünüşü arasındakı intervalda hansı hadisələrin baş verdiyinə diqqət yetirəcəyəm.

Yol boyu mən bu hadisələr zəncirində nəyi dəyişə biləcəyimizi və xüsusi proqram təminatı tərtibatçılarının bu imkanlardan OS parametrlərini tənzimləmək, tətbiqin saxlama yerini genişləndirmək, dəyişdirmə, müxtəlif fərdiləşdirmələr və daha çox şeyləri həyata keçirmək üçün necə istifadə etdiyini izah edəcəyəm. Bütün bu məlumatlar öz proqram təminatınızı yaratmaq və müxtəlif hack və modifikasiyaları həyata keçirmək üçün istifadə edilə bilər.

Birinci addım. ABOOT və bölmə cədvəli

Hamısı əsas yükləyicidən başlayır. Gücü işə saldıqdan sonra sistem cihazın daimi yaddaşında saxlanılan yükləyici kodunu icra edir. Daha sonra o, idarəetməni fastboot protokolu üçün daxili dəstəyi ilə aboot bootloader-ə ötürür, lakin mobil çip və ya smartfon/planşet istehsalçısı öz seçdiyi istənilən başqa yükləyicini seçmək hüququna malikdir. Məsələn, Rockchip fastboot-a uyğun olmayan öz yükləyicisindən istifadə edir və flash və idarə etmək üçün xüsusi alətlər tələb edir.

Fastboot protokolu, öz növbəsində, yükləyicinin kilidini açmaq, yeni nüvəni yandırmaq və bərpa etmək, proqram təminatı quraşdırmaq və bir çox başqa hərəkətləri yerinə yetirməyə imkan verən yükləyicini kompüterdən idarə etmək üçün bir sistemdir. Fastboot-un əsas səbəbi, bütün digər vasitələrin uğursuz olduğu bir vəziyyətdə smartfonu orijinal vəziyyətinə qaytara bilməkdir. Təcrübələr nəticəsində Android-i ehtiva edən bütün NAND yaddaş bölmələrini və smartfonunuzdan bərpanı silsəniz belə, Fastboot yerində qalacaq.

Nəzarət aldıqdan sonra aboot bölmə cədvəlini yoxlayır və idarəetməni açılış adlı bölməyə daxil olan nüvəyə ötürür, bundan sonra nüvə eyni bölmədən RAM şəklini yaddaşa çıxarır və ya Android, ya da bərpa konsolunu yükləməyə başlayır. Android cihazlarında NAND yaddaşı şərti olaraq tələb olunan altı bölməyə bölünür:

  • açılış - nüvəni və RAM diskini ehtiva edir, adətən ölçüsü təxminən 16 MB;
  • bərpa - bərpa konsolu, nüvədən, konsol proqramları dəstindən və parametrlər faylından ibarətdir, ölçüsü 16 MB;
  • sistem - Android ehtiva edir, müasir cihazlarda ölçüsü ən azı 1 GB-dır;
  • önbellek - önbelleğe alınmış məlumatların saxlanması üçün nəzərdə tutulmuşdur, həmçinin OTA yeniləməsi zamanı proqram təminatını saxlamaq üçün istifadə olunur və buna görə də sistem bölməsinin ölçüsünə bənzər bir ölçüyə malikdir;
  • userdata - parametrləri, tətbiqləri və istifadəçi məlumatlarını ehtiva edir, qalan bütün NAND yaddaş sahəsi ona ayrılır;
  • misc - sistemin hansı rejimdə yüklənməsini təyin edən bir bayraq var: Android və ya bərpa.

Onlara əlavə olaraq, digər bölmələr də ola bilər, lakin ümumi işarələmə smartfonun dizayn mərhələsində müəyyən edilir və yükləmə vəziyyətində yükləyici koduna tikilir. Bu o deməkdir ki: 1) bölmə cədvəli öldürülə bilməz, çünki onu həmişə fastboot oem format əmrindən istifadə etməklə bərpa etmək olar; 2) bölmə cədvəlini dəyişdirmək üçün yükləyicinin kilidini açmalı və yeni parametrlərlə yenidən yükləməli olacaqsınız. Bununla belə, bu qaydanın istisnaları var. Məsələn, eyni Rockchip-in yükləyicisi arakəsmələr haqqında məlumatı NAND yaddaşının birinci blokunda saxlayır, ona görə də onu dəyişdirmək üçün yükləyicini yandırmaq lazım deyil.

Müxtəlif bölmə xüsusilə maraqlıdır. Onun əvvəlcə əsas sistemdən asılı olmayaraq müxtəlif parametrləri saxlamaq üçün yaradıldığına dair bir fərziyyə var, lakin hazırda o, yalnız bir məqsəd üçün istifadə olunur: bootloaderə sistemin hansı bölmədən yüklənməsini göstərmək üçün - yükləmə və ya bərpa. Bu xüsusiyyət, xüsusən də ROM Manager proqramı tərəfindən mikroproqramın avtomatik quraşdırılması ilə sistemi bərpa etmək üçün avtomatik olaraq yenidən yükləmək üçün istifadə olunur. Bunun əsasında Ubuntu Touch ikili yükləmə mexanizmi qurulmuşdur ki, bu da Ubuntu yükləyicisini bərpa etmək üçün yandırır və növbəti dəfə hansı sistemin yüklənəcəyini idarə etməyə imkan verir. Müxtəlif bölməni sildi - Android yükləyir, onu məlumatlarla doldurdu - bərpa yükləri... yəni Ubuntu Touch.

İkinci addım. Yükləmə bölməsi

Əgər müxtəlif bölmədə bərpa yükləmə bayrağı yoxdursa, aboot idarəetməni yükləmə bölməsində yerləşən koda ötürür. Bu, Linux nüvəsindən başqa bir şey deyil; o, bölmənin əvvəlində yerləşir və dərhal sonra Android-in işləməsi üçün lazım olan qovluqları, init başlatma sistemini və digər alətləri ehtiva edən cpio və gzip arxivçilərindən istifadə etməklə yığılmış RAM disk şəklidir. Yükləmə bölməsində heç bir fayl sistemi yoxdur; nüvə və RAM diski sadəcə olaraq bir-birini izləyir. RAM diskinin məzmunu aşağıdakılardır:

  • data - eyni adlı bölmənin quraşdırılması üçün kataloq;
  • dev - cihaz faylları;
  • proc - procfs burada quraşdırılmışdır;
  • res - şarj cihazı üçün şəkillər toplusu (aşağıya baxın);
  • sbin - kommunal xidmətlər və demonlar dəsti (məsələn, adbd);
  • sys - sysfs burada quraşdırılmışdır;
  • sistem - sistem bölməsinin quraşdırılması üçün kataloq;
  • şarj cihazı - şarj prosesini göstərmək üçün proqram;
  • build.prop - sistem parametrləri;
  • init - başlatma sistemi;
  • init.rc - başlatma sisteminin parametrləri;
  • ueventd.rc - init-in bir hissəsi olan uventd demonunun parametrləri.

Bu, belə desək, sistemin skeletidir: NAND yaddaş bölmələrindən fayl sistemlərini birləşdirmək üçün qovluqlar dəsti və sistemin yüklənməsi işinin qalan hissəsini idarə edəcək başlanğıc sistemi. Burada mərkəzi element init tətbiqi və onun init.rc konfiqurasiyasıdır ki, bundan sonra ətraflı danışacağam. Bu arada mən sizin diqqətinizi şarj cihazı və ueventd.rc fayllarına, həmçinin sbin, proc və sys qovluqlarına cəlb etmək istərdim.

Şarj cihazı faylı kiçik bir proqramdır, onun yeganə işi batareya simvolunu göstərməkdir. Bunun Android ilə heç bir əlaqəsi yoxdur və cihaz sönmüş vəziyyətdə şarj cihazına qoşulduqda istifadə olunur. Bu halda, Android yüklənmir və sistem sadəcə nüvəni yükləyir, RAM diskini birləşdirir və şarj cihazını işə salır. Sonuncu, bütün mümkün vəziyyətlərdə təsviri res qovluğunda adi PNG fayllarında saxlanılan batareya simvolunu göstərir.

ueventd.rc faylı sistemin yüklənməsi zamanı sys qovluğunda hansı cihaz fayllarının yaradılmasını müəyyən edən konfiqurasiyadır. Linux nüvəsinə əsaslanan sistemlərdə aparatlara giriş dev kataloqu daxilindəki xüsusi fayllar vasitəsilə həyata keçirilir və onların Android-də yaradılmasına init-in bir hissəsi olan ueventd demon cavabdehdir. Normal vəziyyətdə, nüvədən fayl yaratmaq üçün əmrləri qəbul edərək, avtomatik rejimdə işləyir, lakin bəzi faylları müstəqil olaraq yaratmaq lazımdır. Onlar ueventd.rc saytında verilmişdir.

Android fondunda olan sbin qovluğunda adətən adbd, yəni sistemin PC-dən düzəldilməsi üçün cavabdeh olan ADB demonundan başqa heç nə yoxdur. O, ƏS-nin yüklənməsinin ilkin mərhələsində işləyir və ƏS-nin işə salınması mərhələsində mümkün problemləri müəyyən etməyə imkan verir. Fərdi proqram təminatında siz bu kataloqda bir dəstə başqa fayl tapa bilərsiniz, məsələn mke2fs, arakəsmələrin ext3/4 formatına yenidən formatlaşdırılması lazım olduqda tələb oluna bilər. Həmçinin, modderlər tez-tez orada BusyBox yerləşdirirlər, onunla yüzlərlə Linux əmrlərinə zəng edə bilərsiniz.

Proc kataloqu Linux üçün standartdır, açılışın növbəti mərhələlərində init ona sistemdəki bütün proseslər haqqında məlumat əldə etməyi təmin edən virtual fayl sistemi procfs-ə qoşulacaq; Sistem sysfs-i aparat və onun parametrləri haqqında məlumatlara girişi açan sys kataloquna birləşdirəcək. Sysfs-dən istifadə edərək, məsələn, cihazı yuxu rejiminə keçirə və ya istifadə olunan enerjiyə qənaət alqoritmini dəyişə bilərsiniz.

build.prop faylı aşağı səviyyəli Android parametrlərini saxlamaq üçün nəzərdə tutulub. Daha sonra sistem bu parametrləri sıfırlayacaq və onları hazırda əlçatmaz olan system/build.prop faylındakı dəyərlərlə əvəz edəcək.


Mətndən çıxarışlar

  • Təcrübələr nəticəsində bütün NAND yaddaş bölmələrinin məzmununu smartfonunuzdan silsəniz belə Fastboot yerində qalacaq.
  • Bərpa bölməsi tamamilə özünü təmin edir və Android ilə heç bir əlaqəsi olmayan miniatür əməliyyat sistemini ehtiva edir
  • fstab faylını bir az dəyişdirərək, biz init-i sistemi yaddaş kartından yükləməyə məcbur edə bilərik

İkinci addım, alternativ. Bərpa bölməsi

Fərqli bölmədə bərpa yükləmə bayrağı quraşdırılıbsa və ya istifadəçi səsi azaltma düyməsini basıb saxlayaraq smartfonu işə salırsa, aboot idarəetməni bərpa bölməsinin əvvəlində yerləşən koda köçürür. Yükləmə bölməsi kimi, nüvəni və yaddaşa açılan və fayl sisteminin kökünə çevrilən RAM diskini ehtiva edir. Ancaq burada RAM diskinin məzmunu bir qədər fərqlidir.

ƏS-nin yüklənməsinin müxtəlif mərhələləri arasında keçid keçidi kimi çıxış edən yükləmə bölməsindən fərqli olaraq, bərpa bölməsi tamamilə özünü təmin edir və heç bir halda Android ilə əlaqəli olmayan miniatür əməliyyat sistemini ehtiva edir. Bərpanın öz nüvəsi, öz proqram dəsti (əmrləri) və istifadəçiyə xidmət funksiyalarını aktivləşdirməyə imkan verən öz interfeysi var.

Standart (stok) bərpada adətən yalnız üç belə funksiya var: smartfon istehsalçısının açarı ilə imzalanmış proqram təminatının quraşdırılması, silin və yenidən başladın. ClockworkMod və TWRP kimi dəyişdirilmiş üçüncü tərəf bərpaları daha çox funksiyaya malikdir. Onlar fayl sistemlərini formatlaya, istənilən düymələrlə imzalanmış proqram təminatını quraşdıra (oxu: xüsusi), fayl sistemlərini digər arakəsmələrə quraşdıra bilər (ƏS-in sazlanması məqsədləri üçün) və proqram təminatı prosesini və bir çox digər funksiyaları avtomatlaşdırmağa imkan verən skript dəstəyi daxil edə bilərlər.

Məsələn, skriptlərdən istifadə edərək əmin ola bilərsiniz ki, yükləndikdən sonra bərpa avtomatik olaraq yaddaş kartında lazımi proqram təminatı tapır, onları quraşdırır və Android-də yenidən yüklənir. Bu xüsusiyyət ROM Meneceri, avtomatik flaş alətləri, həmçinin CyanogenMod və digər proqram təminatı üçün avtomatik yeniləmə mexanizmi tərəfindən istifadə olunur.

Xüsusi bərpa həmçinin /system/addon.d/ kataloqunda yerləşən ehtiyat skriptləri dəstəkləyir. Mikroproqramı yandırmazdan əvvəl bərpa skriptləri yoxlayır və proqram təminatını yandırmazdan əvvəl onları yerinə yetirir. Bu cür skriptlər sayəsində boşluqlar yeni bir proqram təminatı versiyasını quraşdırdıqdan sonra yox olmur.

fastboot əmrləri

Fastboot-a daxil olmaq üçün siz Android SDK quraşdırmalı, kabeldən istifadə edərək smartfonunuzu kompüterinizə qoşmalı və hər iki səs düyməsini basıb onu yandırmalısınız. Bundan sonra SDK daxilində platforma alətləri alt qovluğuna getməli və əmri işlətməlisiniz

Fastboot cihazları

Cihazın adı ekranda görünəcək. Digər mövcud əmrlər:

  • Fatsboot oem kilidini açın- nexuslarda yükləyicinin kilidini açmaq;
  • faylı yeniləyin.zip- proqram təminatının quraşdırılması;
  • flash açılış boot.img- yükləmə bölməsinin görüntüsünün yanıb-sönməsi;
  • flash bərpa bərpası.img- bərpa bölməsinin görüntüsünün yanıb-sönməsi;
  • flash sistemi system.img- sistem şəklinin yanıb-sönməsi;
  • oem formatı- məhv edilmiş bölmə masasının bərpası;

Üçüncü addım. İnisiallaşdırma

Beləliklə, idarəetməni qəbul edərək, nüvə RAM diskini birləşdirir və bütün alt sistemlərini və sürücülərini işə saldıqdan sonra Android-in işə salınmasına başlayan init prosesinə başlayır. Artıq dediyim kimi, init init.rc konfiqurasiya faylına malikdir, proses ondan sistemi işə salmaq üçün dəqiq nə etməli olduğunu öyrənir. Müasir smartfonlarda bu konfiqurasiya bir neçə yüz sətirdən ibarət təsir edici uzunluğa malikdir və həmçinin idxal direktivindən istifadə edərək əsas birinə qoşulan bir neçə uşaq konfiqurasiyasının treyleri ilə təchiz edilmişdir. Bununla belə, onun formatı olduqca sadədir və mahiyyətcə bloklara bölünmüş əmrlər toplusudur.

Hər bir blok yükləmə mərhələsini və ya Android tərtibatçısının dili ilə desək, hərəkəti müəyyən edir. Bloklar bir-birindən on direktivi və ardınca hərəkətin adı ilə ayrılır, məsələn, erkən başlanğıc və ya post-fs. Əmrlər bloku yalnız eyni adlı tətiyi işə saldıqda yerinə yetiriləcək. Yüklənərkən init öz növbəsində erkən init, init, erkən fs, fs, post-fs, erkən yükləmə və yükləmə triggerlərini aktivləşdirəcək və bununla da müvafiq əmr bloklarını işə salacaq.


Əgər konfiqurasiya faylı əvvəlində sadalanan daha bir neçə konfiqurasiyanı çəkirsə (və bu, demək olar ki, həmişə belədir), onda onların daxilindəki eyni adlı komanda blokları əsas konfiqurasiya ilə birləşdiriləcək, beləliklə, tetik işə salındıqda, init bütün faylların müvafiq bloklarından əmrləri yerinə yetirmək. Bu, bir neçə cihaz üçün konfiqurasiya faylları yaratmağın rahatlığı üçün edilir, əsas konfiqurasiya bütün cihazlar üçün ümumi əmrləri ehtiva edir və hər bir cihaz üçün xüsusi olanlar ayrı-ayrı fayllarda yazılır.

Əlavə konfiqurasiyalardan ən diqqət çəkəni initrc.device_name.rc adlanır, burada cihazın adı avtomatik olaraq ro.hardware sistem dəyişəninin məzmunu əsasında müəyyən edilir. Bu, cihaza aid komanda bloklarını ehtiva edən platformaya xas konfiqurasiya faylıdır. Kernelin sazlanmasına cavabdeh olan əmrlərə əlavə olaraq, o, buna bənzər bir şeyi də ehtiva edir:

Mount_all ./fstab.device_name

Bu o deməkdir ki, init indi aşağıdakı struktura malik olan ./fstab.device_name faylında sadalanan bütün fayl sistemlərini quraşdırmalıdır:

Cihaz_adı (bölmə) mount_point file_system fs_options digər seçimlər

O, adətən daxili NAND bölmələrindən /sistem (ƏS), /data (tətbiq parametrləri) və /cache (keşlənmiş məlumat) qovluqlarına fayl sistemlərinin quraşdırılması üçün təlimatları ehtiva edir. Bununla belə, bu faylı bir az dəyişdirərək, init-i sistemi yaddaş kartından yükləməyə məcbur edə bilərik. Bunu etmək üçün yaddaş kartını üç 4 hissəyə bölmək kifayətdir: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 və qalan fat32 sahəsi. Bundan sonra, /dev qovluğunda yaddaş kartı bölmələrinin adlarını təyin etməlisiniz (onlar müxtəlif cihazlar üçün fərqlənir) və onları fstab faylında orijinal cihaz adları ilə əvəz etməlisiniz.


Yükləmə başlanğıc blokunun sonunda o, çox güman ki, class_start default əmri ilə qarşılaşacaq ki, bu da sizə bildirəcək ki, daha sonra standart siniflə əlaqəli olan konfiqurasiyada sadalanan bütün xidmətləri işə salmalısınız. Xidmətlərin təsviri xidmət direktivi ilə başlayır, ondan sonra xidmətin adı və onu işə salmaq üçün yerinə yetirilməli olan əmr verilir. Bloklarda sadalanan əmrlərdən fərqli olaraq, xidmətlər hər zaman işləməlidir, ona görə də smartfonun bütün ömrü boyu init arxa planda qalacaq və buna nəzarət edəcək.

Müasir Android-də onlarla xidmət var, lakin onlardan ikisi xüsusi statusa malikdir və sistemin bütün həyat dövrünü müəyyən edir.

init.rc əmrləri

Başlanğıc prosesində daxili əmrlər dəsti var, onların çoxu standart Linux əmr dəstinə əməl edir. Onlardan ən diqqət çəkənləri:

  • exec /path/to/command- xarici əmri yerinə yetirmək;
  • ifup interfeysi- şəbəkə interfeysini yüksəltmək;
  • sinif_başlanğıc sinif_adı- göstərilən sinfə aid olan xidmətlərə başlamaq;
  • class_stop sinif_adı- xidmətlərin dayandırılması;
  • insmod /path/to/modul- kernel modulunu yükləyin;
  • FS cihaz kataloqunu quraşdırın- fayl sistemini birləşdirin;
  • setprop adı dəyəri- sistem dəyişənini təyin etmək;
  • xidmət_adı başladın- göstərilən xidməti işə salmaq;
  • tetik adı- tətiyi aktivləşdirin (müəyyən edilmiş əmrlər blokunu yerinə yetirin);
  • /path/to/fayl xəttini yazın- fayla sətir yazın.

Dördüncü addım. Ziqot və proqram_prosesi

Yükləmənin müəyyən mərhələsində init konfiqurasiyanın sonunda bu blok kimi bir şeylə qarşılaşacaq:

Service zigote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zigote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart media restart on restart restart netd

Bu, başlatma, sistem xidmətlərinin işə salınması, istifadəçi proqramlarının işə salınması və dayandırılması və bir çox digər vəzifələrə cavabdeh olan istənilən Android sisteminin əsas komponenti olan Zygote xidmətinin təsviridir. Ziqota kiçik proqram /system/bin/app_process istifadə edərək işə salınır, bu konfiqurasiyanın yuxarıdakı hissəsində çox aydın görünür. app_proccess tapşırığı kodu /system/lib/libandroid_runtime.so paylaşılan kitabxanasında yerləşən Dalvik virtual maşını işə salmaq və sonra onun üzərində Zygote-u işə salmaqdır.

Bütün bunlar yerinə yetirildikdən və Zygote nəzarət altına alındıqdan sonra, o, bütün çərçivənin Java siniflərini (hazırda onlardan 2000-dən çox) yükləyərək Java proqramının işləmə müddətini qurmağa başlayır. Daha sonra o, Pəncərə Meneceri, Status Paneli, Paket Meneceri və ən əsası, gələcəkdə qəbul etmək üçün cavabdeh olacaq Fəaliyyət Meneceri daxil olmaqla, yüksək səviyyəli (Java-da yazılmış) sistem xidmətlərinin əksəriyyətini özündə birləşdirən system_server-i işə salır. başlanğıc və bitmə siqnalları tətbiqləri.

Bundan sonra Zygote /dev/socket/zygote yuvasını açır və məlumatları gözləyərək yuxuya gedir. Bu zaman əvvəllər işə salınmış Fəaliyyət Meneceri iş masasının yaradılmasına cavabdeh olan tətbiqi tapmaq üçün Intent.CATEGORY_HOME yayım niyyətini göndərir və onun adını rozetka vasitəsilə Zygote-a verir. Sonuncu, öz növbəsində, tətbiqi virtual maşının üstündə çəngəlləyir və işə salır. Bəli, ekranımızda Fəaliyyət Meneceri tərəfindən tapılan və Zygote tərəfindən işə salınan iş masası və Status Bar xidmətinin bir hissəsi olaraq system_server tərəfindən işə salınan status paneli var. İşarəyə toxunduqdan sonra iş masası bu proqramın adı ilə niyyət göndərəcək, Fəaliyyət Meneceri onu qəbul edəcək və tətbiqi Ziqot demonuna başlamaq üçün əmr göndərəcək.

MƏLUMAT

Linux terminologiyasında RAM diski yalnız RAM-da mövcud olan bir növ virtual sabit diskdir. Yükləmə prosesinin əvvəlində kernel diskin məzmununu şəkildən çıxarır və onu kök fayl sistemi (rootfs) kimi quraşdırır.

Yükləmə prosesi zamanı Android üç müxtəlif yükləmə ekranını göstərir: birincisi güc düyməsini basdıqdan dərhal sonra görünür və Linux nüvəsində yanıb-sönür, ikincisi işə salınmanın ilkin mərhələlərində göstərilir və /initlogo.rle faylında qeyd olunur (çox azdır). bu gün istifadə olunur), sonuncusu bootanimation proqramından istifadə edərək işə salınır və /system/media/bootanimation.zip faylında yerləşir.

Standart tetikleyicilərə əlavə olaraq, init sizə müxtəlif hadisələrin səbəb ola biləcəyi öz tetikleyicilərinizi müəyyən etməyə imkan verir: cihazı USB-yə qoşmaq, smartfonun vəziyyətini dəyişdirmək və ya sistem dəyişənlərinin vəziyyətini dəyişdirmək.

Digər şeylər arasında, Fəaliyyət Meneceri kifayət qədər yaddaş olmadığı zaman fon proqramlarını da öldürür. Pulsuz yaddaş həddi dəyərləri /sys/module/lowmemorykiller/parameters/minfree faylında var.

Bütün bunlar bir az çaşqın görünə bilər, amma ən əsası üç sadə şeyi yadda saxlamaqdır:

Bir çox cəhətdən Android digər əməliyyat sistemlərindən çox fərqlidir və onu dərhal anlamaq çətindir. Ancaq hər şeyin necə işlədiyini başa düşsəniz, imkanlar sadəcə sonsuzdur. iOS və Windows Phone-dan fərqli olaraq, Google-un əməliyyat sistemi kod yazmadan davranışını ciddi şəkildə dəyişməyə imkan verən çox çevik bir arxitekturaya malikdir. Əksər hallarda lazımi konfiqurasiyaları və skriptləri düzəltmək kifayətdir.

Android OS-nin arxitekturası, ilk növbədə, bu barədə hər şeyi bilən tərtibatçıları maraqlandırır, buna görə də biz bu məlumatları adi istifadəçilərə maraqlı və başa düşülən şəkildə çatdırmağa çalışacağıq ki, onlar sevimli sisteminin necə işlədiyini bilsinlər. . Çoxlarının sevimlisi olduğuna şübhə yoxdur. Ancaq bəziləri hələ də bütün prosesləri tam başa düşmürlər, niyə və nə üçün cihazın kilidini açmaq, onu zəmanət və təhlükəsizlikdən məhrum etmək mənasızdır.

Bilməli olduğunuz ilk şey Android-in Linux ƏS-nin bir variantıdır və ən azı burada bu sistem öz ev yerini tapmışdır. Sistemin içərisində, ən əsas səviyyədə, böyük sistemlər kimi, tez-tez yenilənməyə ehtiyacı olan dəyişdirilmiş Linux nüvəsi var. Digər mobil əməliyyat sistemlərinə nisbətən daha tez-tez, əks halda yeni funksiyalar, sensorlar, tətbiqlər və digər faydalı şeylərdən istifadə etmək imkanını itirəcəksiniz. Kernel sistem API vasitəsilə proqramlar və drayverlərlə işləyir və yalnız bu səviyyədə olan sürücülər və sistem proqramları C++ dilində yazıla bilər. Maşının orta hissəsini Microsoft-un .NET ilə müqayisə edilə bilən platforma tutur. Java dili ilə idarə olunur. Platforma onun üçün virtual icra mühiti yaratdıqda hər bir istifadəçi tətbiqi bir proses yaradır. Bu zaman sinif və kitabxana kodu şəklində olan Java proqramları avtomatik olaraq Delvik bayt maşınında icra edilən universal baytkoda çevrilir. Bu maşının Java JVM ilə ortaq cəhətləri çoxdur.

Tətbiqlər bir-birindən təcrid olunmuş mühitdə işləyir və yalnız ehtiyac duyduqları resursları tutur. Bu, məsələn, hər hansı bir proqramın bütün resursları ələ keçirə biləcəyi bir PC-dəki proqramlardan əsas fərqdir. Tətbiqlər kod keyfiyyətinə görə optimallaşdırılsa da və bir-birindən təcrid olunsa da, onlar nəinki qabaqlayıcı çoxşaxəli prioritetlərə, həm də onlara eyni identifikatorlar təyin etməklə məlumat və faylları paylaşma yollarına malikdir. Beləliklə, platforma vasitəsilə API-lərə, həmçinin paylaşılan profil fayllarına, əlaqə siyahılarına və s. Burada maraqlı olan odur ki, virtual maşının yerli olaraq qəbul edəcəyi digər Java kodunu Delvik-ə keçirə bilərsiniz. Bu, çoxsaylı virtual inkişaf sistemlərini həyata keçirməyə, yeni proqramlaşdırma dillərindən istifadə etməyə və hətta tətbiq çərçivəsini alternativ variantlara dəyişməyə imkan verir - bir şərtlə ki, bayt kodu yarada və API çağırışlarına uyğunlaşa bilsin.

Platforma və ya çərçivə verilənlərlə vahid şəkildə işləyir, onu SQLite verilənlər bazası formatına çevirir - məsələn, Mozilla-nın kompüterdə işlədiyi eyni format. İnternetə çıxış mobil cihazlar üçün optimallaşdırılmış Chrome brauzeri tərəfindən idarə olunur. Qüsursuz qrafika yaratmaq üçün API OpenGL ES v.3.0 texnologiyasını, eləcə də h.264, mkv, MP4 və s.

Digər cihazlarla əlaqə – simli (USB, yaddaş kartları) və simsiz (BT, IR, Wi-Fi, EDGE/3G/LTE). Bir çox sensorlar sistemdən kənar siqnalların qəbulu ilə bağlıdır: GPS, akselerometr, kompas, fotoqrafiya, qaranlıq sensoru, fitnes sensorları.

Zavod vəziyyətində Android çox sabit və təhlükəsizdir, lakin istifadəçiyə alternativ proqramların alına biləcəyi saytlardan kənara çıxmağa imkan vermir. Məhz buna görə də aşağı səviyyəli proqramlaşdırma üçün olduğu kimi, o, qorunmadan məhrumdur, bundan sonra sistemdə antivirus proqramı quraşdırmaq lazımdır.

Android-də fayl menecerləri smartfonunuzda məlumatların saxlanmasını təşkil etmək üçün əlverişli bir vasitə ola bilər, lakin buna öyrəşməmisinizsə, Android strukturunun özü (və ya onun görünən çatışmazlığı) bir az çaşqın görünə bilər. Tətbiq məlumatları, şəkillər, musiqi - və hamısına bir kök qovluqdan daxil olmaq - ierarxik quruluşa PC və Mac istifadəçilərinin öyrəşdiklərindən bir qədər fərqli yanaşmadır və istifadəçilərə iOS-dan daha çox seçim imkanı verir.

Android-də siz adi fayl meneceri vasitəsilə və ya PC-yə qoşulmaqla dərindən gizlənmiş sistem fayllarına daxil ola bilməyəcəksiniz. Amma bu o demək deyil ki, istədiyiniz faylı bir şıltaqlıqla silə bilərsiniz. Tipik qovluqların cihazın yaddaşında necə təşkil edildiyini, nə üçün olduğunu və onlardan nələri silə biləcəyinizi və nəyi edə bilməyəcəyinizi nəzərdən keçirək.

Android cihazının yaddaş iyerarxiyası

Android Linux əsaslı əməliyyat sistemi olduğundan, telefonunuzun fayl sistemi də Linux kimi təşkil olunub. Bu sistemdə hər bir cihazın altı əsas bölməsi var: yükləmə, sistem, bərpa, məlumat, keş və müxtəlif. microSD yaddaş kartlarının da öz yaddaş iyerarxiyası var. Android 7.0 Nougat əməliyyat sistemini daşıyan cihazlar, sistem bölməsi ilə birlikdə ikincisinin yaradıldığı və onlardan birinin arxa planda yenilənməsi və yenidən işə salındıqda yenilənmiş sistemin işləməsinə imkan verən keçid baş verdiyi üçün davamlı olaraq yenilənə bilir. .

Burada hər bir qovluqda olanların qısa təsviri verilmişdir.

  • çəkmə– Bu qovluqda nüvə, virtual disk və s., yəni telefonu yandırdığınız zaman onu yükləmək üçün tələb olunanlar var.
  • sistemi– Sistem qovluğunda Android GUI və əvvəlcədən quraşdırılmış proqramlar da daxil olmaqla əməliyyat sistemi faylları (sistem şəkli kimi də tanınır).
  • bərpa– ƏS-ni yükləmək üçün alternativ seçim, bərpa qovluğundan proqramlar istifadəçiyə digər qovluqların ehtiyat nüsxəsini çıxarmağa və onları bərpa etməyə imkan verir.
  • data– Məlumat qovluğu kontaktlardan və mesajlardan tutmuş proqramlara və musiqiyə qədər istifadəçi məlumatlarını saxlayır və sizin bu bölməyə fayl brauzeri vasitəsilə daxil ola bilərsiniz. Zavod parametrlərinə sıfırlandıqdan sonra bu bölmə silinir.
  • gizli yer– Android burada tez-tez istifadə olunan məlumatları və proqram komponentlərini saxlayır. Bu bölmə müəyyən problemləri həll etmək üçün silinə bilər və zaman keçdikcə avtomatik olaraq bərpa olunacaq və yenilənəcəkdir.
  • misc– Bu bölmədə USB konfiqurasiyası, operatorunuzun şəbəkə parametrləri və GUI-də yandırma/söndürmə açarları kimi görünən digər avadanlıq parametrləri kimi sistem parametrləri haqqında digər vacib məlumatlar var.

Kök olmadan, Android istifadəçiləri yalnız cihazı PC-yə qoşduqda və ya fayl brauzerindən istifadə etdikdə sizə açılan məlumat bölməsinə daxil ola bilərlər. Telefonunuzun yaddaşı kartdan istifadə etməklə genişləndirilə bilərsə, kartın yaddaşı da PC və ya fayl görüntüləyicisi vasitəsilə əldə edilə bilən məlumatlarla bu bölməyə daxildir.

Tipik olaraq, yalnız istifadəçi məlumatları bölməsində saxlanılan proqram məlumatlarına çıxışınız var. Yaddaşın qalan hissəsinə daxil olmaq üçün kök hüquqlarına ehtiyacınız olacaq

Məlumat bölməsindəki proqramlar və qovluqlar

Beləliklə, əsas qovluqlara qısaca nəzər salaraq qeyd etdik ki, biz brauzerdən istifadə edərək sadəcə olaraq fayllara baxdığımız zaman yükləmə fayllarına, bərpa fayllarına və ya Android sistem fayllarına çıxışımız yoxdur. Bu, təsəlliverici bir nəticəyə gətirib çıxarır: siz öz hərəkətlərinizlə sadəcə irəli gedib sistemin dağılmasına səbəb ola bilməzsiniz. Kök hüquqlarınız olduqda tamamilə fərqli bir vəziyyət yaranır. Bu və ya digər şəkildə, bu bölmədə saxlanılanlarla daha diqqətli olmalısınız: müəyyən proqramlar burada saxlanılan məlumatlardan istifadə edə bilər və onların köçürülməsi və ya silinməsi sistemin qeyri-sabit işləməsinə səbəb ola bilər.

İndi cihazınızın məlumat bölməsində nə olduğuna baxaq. Bunu mümkün etmək üçün Android versiyaları Marshmallow və ya Nougat olan telefonların bütün bölməyə giriş imkanı verən öz fayl menecerləri var. Bu seçimi Parametrlər-Yaddaş-Yaddaş-Digər menyusunda tapmaq olar. Android-in köhnə versiyaları ilə işləyən bəzi cihazların istehsalçıdan asılı olaraq öz fayl meneceri ola bilər və ya olmaya da bilər.

Alternativ olaraq, Play Store-da FX File Explorer və ya Total Commander kimi eyni rolu yerinə yetirən bir çox üçüncü tərəf proqramları mövcuddur.

Siz həmçinin USB bağlantısından istifadə edərək fayllarınızı kompüterinizdən idarə edə bilərsiniz. Sadəcə telefonunuzun MTP (Fayl Transferi) rejimində olduğundan əmin olun ki, bütün fayllarınızı görə biləsiniz.


Siz kompüterdən istifadə edərək və ya birbaşa fayl brauzeri vasitəsilə cihazınızın yaddaşına daxil ola bilərsiniz

Cihazınızın yaddaşının dolu olduğunu və çoxlu qovluqların olduğunu hiss edirsinizsə, onlara daha yaxından nəzər salın. Siz proqramlarla əlaqəli çoxsaylı qovluqları, bəlkə də artıq sildiyiniz proqramların qalıqlarını görəcəksiniz. Bir qayda olaraq, hər hansı proqram qovluğunu tək buraxmaq daha yaxşıdır, lakin proqramın silindiyini və qovluğun qaldığını xatırlasanız, onun silinməsi heç bir zərər verməyəcək. Çox güman ki, boşdur və ya orada bəzi lazımsız log faylları qalıb.

Bir çox proqram quraşdırmamısınızsa belə, standart olaraq bu istifadəçi məlumatları bölməsində bir sıra qovluqlar ola bilər - onlar kontaktlarınızı, musiqinizi, şəkillərinizi və başqa hər şeyi saxlayır. Budur, tapa biləcəyiniz ən əsas üçüncü tərəf olmayan proqram qovluqları.

  • Android– Bu, proqram keşinin və məlumatların saxlandığı standart yerdir. Tətbiq məlumatlarını itirmək istəmirsinizsə, bu qovluğu silmək tövsiyə edilmir. Bu qovluğun silinməsi bəzilərinin düzgün işləməməsinə səbəb ola bilər.
  • Siqnallar, Zənglər, Bildirişlər– adlardan göründüyü kimi, bu qovluqlar həm standart, həm də üçüncü tərəf proqramları tərəfindən istifadə oluna bilən həyəcan siqnalları, zəng melodiyaları və bildirişlər üçün audio faylları saxlayır.
  • Karton– bir sıra VR tətbiqləri üçün məlumatlar burada saxlanılır və heç biri yoxdursa, boş qalır.
  • DCIM– əsas kamera proqramınızdan istifadə edərək çəkdiyiniz fotoşəkillər bunlardır. Fotoşəkilləri orada saxlasanız, microSD kartda belə bir qovluğu da görə bilərsiniz.
  • Yükləmələr– bu, Chrome və ya Firefox kimi veb brauzerinizdə endirdiyiniz hər şeyin yerləşdiyi yerdir.
  • Şəkillər, Musiqi, Filmlər, Video– Bunlar media proqramlarınız tərəfindən istifadə olunan standart qovluqlardır. Bəzi proqramlar sizə başqa qovluqları təyin etməyə imkan verir, lakin əksər media pleyerləri bu qovluqları defolt edəcəklər. Ekran görüntüləri ən çox şəkillər qovluğunda saxlanılır.
  • Podkastlar– Bu qovluq bir sıra proqramlar tərəfindən podkastları digər musiqi fayllarından ayırmaq üçün istifadə olunur. Podcast proqramlarından istifadə etməsəniz, o, boş olacaq.

Beləliklə, hansı qovluqları silə bilərəm (və ya silməliyəm)?

Əmin deyilsinizsə, onu silməyin. Bu, bütün proqram qovluqları üçün doğrudur və nə etmək istədiyinizi dəqiq bilmədiyiniz halda ona toxunulmamalıdır. İstənilən media qovluğuna fayl əlavə etmək və silmək tamamilə təhlükəsizdir, lakin nizamı bərpa etmək üçün tələsik qovluğun özünü məhv etməməyə çalışın. Əgər qovluğun boş olduğunu görsəniz, məsələn, Siqnallar qovluğunda heç nə yoxdur, onun özünə ehtiyac olmadığını düşünə bilərsiniz. Lakin, digər tərəfdən, qovluq çox yer tutmur. Və ola bilsin ki, bəzi proqramlar daha sonra lazım olacaq, ona görə də onu silmək həqiqətən lazımdırmı?

Vaxt keçdikcə cihazınızın daxili yaddaşında yuxarıda sadalananlardan daha çox qovluq olacaq. Siz getdikcə daha çox proqram quraşdırıb siləcəksiniz. Buna görə də, telefonunuzda nadir hallarda faylları köçürməsəniz, onları endirməsəniz və silməsəniz, cihazınızı səliqəyə salmaq heç vaxt zərər vermir. Bununla belə, boş qovluğu silmək sizin üçün əlavə yaddaş yeri boşaltmayacaq. Beləliklə, yer qazanmaq istəyirsinizsə, ehtiyacınız olmayan, baxmayacağınız hansı proqramları/filmləri silə biləcəyinizi və s. baxmaq daha yaxşıdır.

İndi bu qovluqların cihazınızın yaddaşında saxlandığına dair daha dolğun təsəvvürünüz olduğundan, “səhv bir şey etmək” qorxusu olmadan fayllarınızı idarə etmək sizin üçün daha asan olacaq.

  • / - Kök qovluğu.
  • /zibil qabı- icra edilə bilən faylları və icra olunan fayllara keçidləri ehtiva edən qovluq. İcra edilə bilən fayllar sistem işə salındıqda işləyən proqramlar, eləcə də hər kəs üçün mövcud olan ən zəruri proqramlardır. Misal: ls, mount, pwd, unzip.
  • /məlumatlar- sinxronizasiya və hesablar, WiFi giriş nöqtələri üçün parollar və vpn parametrləri və s.
  • /data/app– quraşdırılmış proqramlar və oyunlar olan qovluq.
  • /data/data– proqram məlumatlarını, onların parametrlərini, oyun saxlamalarını və digər məlumatları ehtiva edən qovluq.
  • /data/dalvik-cache- Dalvik proqramı üçün proqram keş yaddaş sahəsi. Dalvik *.apk uzantısına malik proqramların işləməsi üçün əsas olan Java virtual maşınıdır. Proqramların daha sürətli işə salınması üçün bir önbellek yaradılır.
  • /dev- həm real, həm də virtual müxtəlif cihazların, eləcə də mövcud olmayan, lakin mövcud ola bilən cihazların fayllarını ehtiva edən qovluq.
  • /s- əməliyyat sistemi yüklənərkən və müxtəlif proqramların işləməsi zamanı istifadə olunan konfiqurasiya faylları olan qovluq.
  • /lib- müxtəlif proqramlar və C dili kompilyatoru üçün lazım olan funksiyaların kitabxanalarını, həmçinin nüvəyə qoşulmuş modulları (cihaz drayverlərini) ehtiva edən qovluq.
  • /lib/modullar/- uzantısı olan nüvənin modullarını (cihaz drayverlərini) ehtiva edən qovluq .ko. Bu qovluqda sistemdə quraşdırılmış kernel versiyalarına (məsələn, 2.6.32.9-defolt) uyğun gələn alt qovluqlar var. Yəni nüvənin hər bir versiyasının öz modul dəsti var. Bu çox vacibdir və buna diqqət yetirmək lazımdır. Çox vaxt kernel tərtib edərkən versiyanı dəyişdirməyi unudurlar, yeni nüvə yükləndikdə o, əvvəlki versiyanın modullarından istifadə edir və sistem yüklənmir. Cari nüvə versiyasını əmrdən istifadə etməklə tapmaq olar unname -r, qaytarılmış versiya mütləq /lib/modules/ qovluqlarından birinin adına uyğun olacaq.
  • /mnt- müvəqqəti quraşdırılmış fayl sistemləri üçün qovluqları ehtiva edir.
  • /proc- nüvə, proseslər və konfiqurasiya parametrləri daxil olmaqla, Android sisteminin bütün təfərrüatlarını ehtiva edən virtual qovluq. /proc qovluğu ayrı bir məqalədə daha ətraflı təsvir edilmişdir.
  • /sbin- sistemin özünü idarə etmək üçün nəzərdə tutulmuş proqramların icra edilə bilən fayllarını ehtiva edən qovluq. Misal: ifconfig , man, mdev, vconfig .
  • /sdcard- SD yaddaş kartındakı faylları və qovluqları olan qovluq (quraşdırılıbsa).
  • /sys hazırda faktiki sistem konfiqurasiyasını ehtiva edən qovluq. /sys ilə çox sıx bağlıdır udev cihazları birləşdirsəniz (ayrırsanız), kataloqun məzmunu /sys dinamik olaraq dəyişir. Bir nümunə görə bilərsiniz. Komandanı işə salın ls /sys/bus/usb/cihazlar/ sistemdəki cari USB cihazlarına baxmaq üçün. İndi flash sürücüyü qoşun və əmri işə salın ls /sys/bus/usb/cihazlar/ yenidən. İndi daha çox cihaz olduğunu görəcəksiniz.
  • /sistem- məlumatı olan sistem faylları və qovluqları və Android OS-nin işləməsi üçün lazım olan hər şeyi ehtiva edən bir qovluq (standart olaraq gizlidir).
  • /sistem/tətbiq– sistem proqramlarını (SMS, telefon, təqvim, parametrlər və s.), həmçinin cihaz istehsalçısı tərəfindən quraşdırılmış proqramları (markalı vidjetlər, canlı divar kağızları və s.) ehtiva edən qovluq.
  • /sistem/şriftlər– sistem şriftləri olan qovluq.
  • /sistem/media– standart zəng melodiyaları, bildirişlər, həyəcan siqnalları və interfeys səsləri, həmçinin yükləmə animasiyası olan qovluq.
  • /system/build.prop– ekran sıxlığı, yaxınlıq sensorunun gecikmə vaxtı, WiFi nəzarəti, cihazın adı və istehsalçısı və bir çox digər parametrlər kimi çoxlu parametrləri ehtiva edən fayl.

Bu gün məşhur əməliyyat sistemlərindən biri Android-dir. O, milyonlarla mobil cihazda quraşdırılıb. Sistem onun işini təmin edən qovluq və fayllar toplusudur. Ancaq hər bir qovluqda nə olduğunu heç düşünmüsünüzmü? Bəziləri olduqca ağırdır, buna görə də əl onları çıxarmaq üçün şirnikləndirilir. Bunu etməzdən əvvəl, hər bir qovluğun nəyə cavabdeh olduğu, həmçinin əməliyyat sistemi üçün nə qədər vacib olduğu ilə mütləq tanış olmalısınız. Lazımsız bir qovluğu necə silməyin yollarını da sizə xəbər verəcəyik.

Android əməliyyat sistemində əsas açar kataloqları

Silinməzdən əvvəl ilk prioritet kataloqda nələrin olduğunu öyrənməkdir, çünki bu, onun silinib-silə bilməyəcəyini müəyyənləşdirir. Əgər vacib faylları səhvən silsəniz, nəinki bəzi proqramların işini poza bilərsiniz, həm də bütün əməliyyat sisteminin tamamilə işləməməsinə səbəb ola bilərsiniz.

Qeyd etmək lazımdır ki, qovluqların siyahısı cihazdan və android sisteminin versiyasından asılı olaraq fərqlənə bilər. Həmçinin, xüsusi proqramlar Android telefonunun yaddaşında öz qovluqlarını yarada bilər. Android-də hansı kataloqların mövcud olduğuna baxaq.

Keş müvəqqəti faylları saxlamaq üçün bir qovluqdur. O, sistem yeniləməsini ehtiva edə bilər. Əgər Android-in daha yeni versiyasına yeniləmək fikrində deyilsinizsə, o zaman yeniləmə faylına ehtiyacınız yoxdur. Bu qovluğu silə bilərsiniz və bəzi hallarda hətta zəruridir.

Data ən böyük kataloqlardan biridir, adından da təxmin edə biləcəyiniz kimi müxtəlif verilənləri ehtiva edir. Buraya hesab məlumatları, saxlanmış parollar haqqında məlumat, Wi-Fi giriş nöqtələri və s. daxildir. Bu qovluqda çoxlu məlumat olduğu üçün onun alt kataloqlarına nəzər salaq:

  1. Proqram – müxtəlif proqramlar üçün quraşdırma faylları olan qovluq. Telefonunuza yüklənmiş bütün proqramlara ehtiyacınız yoxdursa, onu silə bilərsiniz;
  2. Data – xüsusi proqramların işləməsi üçün lazım olan parametrlər, saxlamalar və digər xidmət məlumatlarını ehtiva edir. Tətbiqlərdə sizin üçün vacib olan heç bir məlumat yoxdursa, onu da silə bilərsiniz;
  3. Mübadilə buferi ən son ekran görüntülərini ehtiva edən xüsusi məlumat panosudur. Bu qovluğu silmək mümkündür, lakin tövsiyə edilmir;
  4. Dalvik-cache Davlink adlı bir proqram üçün önbellek sahəsidir. Bu proqram telefona proqram apk fayllarını işə salmağa imkan verən Java virtual maşınıdır. Bu prosesi mümkün qədər sürətləndirmək üçün keş yaddaşda fayllar yaradılır. Məzmunu mütəmadi olaraq təmizləmək tövsiyə olunur, lakin dalvik-cache silməməlisiniz.

efs qovluğunda telefonun seriya nömrəsi (IMEI), MAC ünvanı, Bluetooth və Wi-Fi haqqında məlumatlar var. Bu kataloq silinə bilməz. Üstəlik, bu qovluğun ehtiyat nüsxəsini çıxarmaq tövsiyə olunur, çünki onun silinməsi smartfonun unikal nömrəsinin itirilməsinə səbəb olacaq.

etc qovluğunda əsasən OS-nin yüklənməsi zamanı istifadə olunan konfiqurasiya faylları, müxtəlif proqramların prosesləri, məsələn, GPS yerini təyin etmək üçün istifadə olunur. Bu, silinə bilməyən sistem qovluqlarından biridir.

lib kataloqu - proqram funksiyalarının və modullarının düzgün işləməsi üçün lazım olan müxtəlif kitabxanaları ehtiva edir. Bu qovluqda həmçinin sürücülərin işləməsini təmin edən fayllar var. Onu silmək olmaz.

mnt kataloqunda quraşdırılmış sistemlərin şəkilləri var. Quraşdırılmış yaddaş kartının, daxili yaddaşın və ya digər virtual cihazların bölmələri burada yerləşə bilər. Təbii ki, siz də bu kataloqu silə bilməzsiniz.

Proc qovluğu - quraşdırılmış Android ƏS ilə bağlı bütün əsas məlumatları ehtiva edir: nüvə, konfiqurasiya parametrləri və aparat haqqında məlumat. Bütün mövcud fayl və qovluqlar virtualdır və sıfır bayt ağırlığındadır. İstifadəçi onlara daxil olduqda sistem onları avtomatik olaraq yaradır. Bu qovluq normal istifadəçi hüquqları ilə silinə bilməz.

sbin kataloqu telefonun işləməsi üçün lazım olan əsas qovluqlardan biridir. O, sistemi idarə etmək üçün nəzərdə tutulmuş bütün proqramların icra edilə bilən fayllarını ehtiva edir. Müvafiq olaraq, onu silmək olmaz.

sys kataloqu cari sistem konfiqurasiyasını ehtiva edir. Bu dinamik bir kataloqdur. İçindəki məlumatlar daim dəyişir. Bu qovluğu silmək mümkün deyil.

Sistem bölməsi bütün əməliyyat sisteminin "onurğa sütunudur", çünki bütün faylların yerləşdiyi yerdir, onsuz android işləyə bilməz. Sistem kataloqu (hər hansı digər daxili kataloqlar kimi) silinə bilməz. Tanış olmaq üçün bu kataloqun məzmununa daha yaxından nəzər salaq:

  1. Proqram – sistem divar kağızı, standart proqramlar (təqvim, notebook, SMS) bu qovluqda yerləşir.
  2. Zibil qutusuna icra edilə bilən fayllar və keçidlər daxildir;
  3. Build.prop, telefon üçün çox sayda parametrləri ehtiva edir, məsələn, basdıqdan sonra sensorun nə qədər gecikməsi, ekranın sıxlığı nədir və daha çox;
  4. Şriftlər – telefonda dəstəklənən bütün fond şriftləri haqqında məlumat.
  5. Çərçivə – interfeys üçün lazım olan hər şey, xüsusən nişanlar, pərdələr və digər qrafik elementlər;
  6. Lib – proqram kitabxanası;
  7. Media – bütün standart melodiyalar və səslər (zəngli saat, SMS bildirişləri, zəng tonları);
  8. Tts dil paketləri daxildir.

Sənədlər – müxtəlif sənədləri, xüsusən .doc və .pdf fayllarını ehtiva edə bilən qovluq. Qovluğun məzmunu sizi maraqlandırmırsa, onu silə bilərsiniz.

Bluetooth – Bluetooth vasitəsilə cihaz tərəfindən qəbul edilmiş bütün faylları ehtiva edir. İçində heç bir vacib məlumat yoxdursa, problemsiz silinir. O, təkcə daxili yaddaşda deyil, həm də SD kartda yerləşə bilər.

DCIM smartfonunuzun kamerasından istifadə edərək çəkilmiş fotoşəkilləri saxlamaq üçün xüsusi kataloqdur. Bir qayda olaraq, bütün fotoşəkillərin yerləşdiyi Kamera bölməsini ehtiva edir. Əgər sizə lazım olan şəkil telefonunuzda yoxdursa, onu silə bilərsiniz. Şəkillər, Şəkillər, Audio, Musiqi kimi bölmələr (əgər içəridə mühüm fayl yoxdursa) da silinə bilər.

Silinmə üsulları

Müəyyən bir qovluğu necə silə bilərəm? Birinci yol standart funksiyalardan istifadə etməkdir. Bunu etmək üçün sizə lazımdır:

Nəzərə alın ki, standart alətlər bütün mövcud qovluqları və faylları göstərmir, çünki sistem faylları çox vaxt gizlidir. İstənilən üçüncü tərəf fayl meneceri, məsələn, ES Explorer proqramı daha çox görməyə kömək edəcək. Siz onu Google Play mağazasından yükləyə bilərsiniz. Tətbiq geniş imkanlar təqdim edir. Bununla siz mövcud qovluqlara baxa, həmçinin bəzilərini silə bilərsiniz. Bunu etmək üçün sizə lazımdır:

Qeyd etmək lazımdır ki, sistem qovluqlarını silmək mümkün deyil, çünki istifadəçi məhdud giriş hüquqlarına malikdir. Onlar yalnız xüsusi super istifadəçi hüquqları əldə etməklə silinə bilər (Windows-da ekvivalent Administratordur).

ilə təmasda

Giriş

Forumlarda ünsiyyət qurarkən və bir neçə mövzunun kuratoru olaraq, tez-tez yeni başlayanların Android dizaynı ilə bağlı tam anlaşılmazlığı ilə qarşılaşıram. "Yaxşı, orta istifadəçi bunu niyə bilməlidir?" - deyirsen. Və burada əks sual verərək sizinlə razıyam: "Niyə adi istifadəçi bu barədə heç nə başa düşmədən proqram təminatı, kök girişi və sistem tənzimləmələri cəngəlliyinə girir?" Adi və başa düşülən dillə mürəkkəb şeyləri çatdırmağa çalışacağım bu yazını yazmağa məni sövq edən də elə bu oldu.

Material ilk növbədə adi istifadəçilər üçün nəzərdə tutulub. Buna görə də burada qısa və səthi məlumatlar texniki dərinliklər və nüanslar olmadan təqdim olunacaq.

  1. Daxili yaddaş bölmələri.
  2. Yükləyici, bərpa, adb sürətli Çəkmə
  3. Sistemin daxili xüsusiyyətləri.
  4. Kök.


1. Daxili yaddaş bölmələri

Android cihazının daxili yaddaşı bir neçə məntiqi sürücüyə (bölmələrə) bölünür.

Mən yalnız əsasları verəcəyəm:


Şəkil 1

Yükləyici– burada əməliyyat sistemini, bərpa və digər xidmət rejimlərini işə salmağa imkan verən proqram təminatı (yükləyici).

Bərpa– adından göründüyü kimi burada mühəndislik bərpa menyusu və ya sadəcə Bərpa quraşdırılıb.

Çək- Android OS-nin ürəyi, burada nüvə, sürücülər və prosessor və yaddaşı idarə etmək üçün parametrlər var.

Sistem– Android OS-nin işləməsi üçün lazım olan bütün faylları ehtiva edən sistem bölməsi, C:\ diskinizdəki Windows qovluğuna bənzəyir. (bundan sonra mən ƏS ilə əlaqə yaradacağamWindows)

Data– proqramların quraşdırılması və onların məlumatlarının saxlanması üçün bölmə. (Proqram fayllar)

İstifadəçi– bu, tanınmış sdcard və ya daha sadə desək, istifadəçi faylları üçün yerdir (Mənim sənədlərim). Burada mən kənara çəkilməyə məcburam, çünki... bu bölmənin yerləşdirilməsinin bir neçə variantı var:

  • Bölmə daxili yaddaşda deyil və bunun əvəzinə xarici sürücü istifadə olunur - ən populyar seçimdir. (Şəkil 1)
  • Böyük daxili yaddaşa malik cihazlarda bu bölmə kimi görünürsdcard , və xarici yaddaş kartı olaraq görünürsdcard 2 və yaextd (başqa ad variantları ola bilər). Adətən olan cihazlarda tapılırAndroid3.2. (Şəkil 2 Seçim 1)
  • Bu seçim Android 4.0 ilə birlikdə əvvəlki versiyanı əvəz etdi. Fəsilİstifadəçi qovluqla əvəz olunurmedia bölməsindəData , bu, istehsalçının bizə ayırdığı məbləğdən deyil, proqramların quraşdırılması və məlumatların saxlanması üçün istifadəçi üçün mövcud olan bütün yaddaşdan istifadə etməyə imkan verdi. Başqa sözləsdcard data bir bütövdürlər. (Şəkil 2 Seçim 2)


Şəkil 2

2. Yükləyici Bərpa adb və sürətli Çəkmə

İndi nəyin harada olduğunu bildiyimiz üçün onun niyə orada olduğunu anlayaq.

ilə başlayaq Yükləyici. Bu, Android-i işə salan yükləyicidir, bərpa və s. Güc düyməsini basdığımız zaman yükləyici işə düşür və əlavə əmrlər olmadıqda (basılan düymələr) yükləməyə başlayır. çəkmə. Əgər düymələr kombinasiyası basılıbsa (hər bir cihazın özünəməxsusluğu var), o zaman əmrdən, bərpadan, fastbootdan və ya apx-dən asılı olaraq işə başlayır. Aşağıdakı rəqəm nəyin səbəb olduğunu aydın şəkildə göstərir Yükləyici və bölmələrin bir-birinə necə bağlı olduğunu.


şək.3

Şəkil 3, bölmədən göründüyü kimi Bərpa Android OS-nin yüklənməsinə təsir göstərmir, amma o zaman niyə lazımdır? Gəlin bunu anlamağa çalışaq.

Bərpa (bərpa) mahiyyətcə Linux nüvəsinə əsaslanan kiçik bir yardım proqramıdır və Android-dən asılı olmayaraq yüklənir. Onun standart funksionallığı zəngin deyil: cihazı zavod parametrlərinə qaytara və ya proqram təminatını yeniləyə bilərsiniz (əvvəlcədən yüklənmişdirsdcard). Lakin, xalq sənətkarları sayəsində, dəyişdirilmiş bərpaları quraşdıra biləcəyiniz dəyişdirilmiş bərpalarımız var (xüsusi) proqram təminatı, Android-i konfiqurasiya edin, ehtiyat nüsxələri yaradın və s. Bərpanın olması və ya olmaması, eləcə də onun versiyası Android OS-nin işinə təsir göstərmir (forumlarda çox yayılmış sual).

Xüsusilə diqqətli oxucular diqqət çəkmiş ola bilər şək.3 bəziləri Sürətli Çəkmə. Bu, əmr satırından istifadə edərək daxili yaddaş bölmələri ilə birbaşa işləmək üçün bir interfeysdir. Onun vasitəsilə siz bərpa, nüvə və ya yeni proqram təminatı versiyasını və ya formatı flash edə bilərsiniz (bütün məlumatları silin) bu və ya digər bölmə.

İnterfeyslərdən danışdığımız üçün mən daha bir, kifayət qədər tanınmış biri haqqında danışmaq istəyirəm - adb (android debug körpü) . Bu sözdə debug rejimi və bir səbəbə görə belə adlandırılıb - onun vasitəsilə həm bütövlükdə sistemin, həm də fərdi proqramların işinə nəzarət edə bilərsiniz. Ancaq bu, hamısı deyil, köməyi ilə adb Siz cihazın fayl sisteminə tam giriş əldə edə və sistem fayllarını dəyişdirə və ya cihazınız yüklənmə zamanı sıxışdığı zaman vacib məlumatları çıxara bilərsiniz. Bütün funksiyalar debug rejimi Onu təsvir etməyəcəyəm, çünki məqsədim müəyyən bir rejimin funksiyaları haqqında deyil, ümumi məlumatları çatdırmaqdır.

3. Sistemin daxili xüsusiyyətləri

Nəzəriyyəni başa düşdükdən sonra Android OS-ni işə salaq.

Güc düyməsini basın və başlayır Yükləyici hansı yüklər Əsas(boot), o da öz növbəsində işləyir sistemi(Sistem), yaxşı, artıq yüklənir proqramlar(məlumat) və istifadəçi sahəsi (istifadəçi). ( şək.3)

İndi kök kataloqa keçək və Android ƏS-nin özünün içərisinə baxaq:


(Şəkil 4)

Bu diaqramda mən yalnız istinad üçün lazım olan qovluqları təqdim etdim. Əslində, onlardan daha çoxu var və nəzərdən keçirmək üçün yalnız bir qovluq var Sistem tam bir məqaləyə ehtiyacınız olacaq.

Və beləliklə, qovluq data. Adından da göründüyü kimi, məlumatlarla əlaqəsi var, amma nə cür? Bəli, demək olar ki, hər kəs üçün bu, sinxronizasiya və hesab məlumatları, WiFi giriş nöqtələri və vpn parametrləri üçün parollar və s. daxildir. Digər şeylər arasında burada qovluqları tapa bilərsiniz proqram, datadalvik- gizli yer- onların məqsədinə baxaq:

  • proqram– proqramlar və oyunlar burada quraşdırılıb.
  • data– proqram məlumatları, parametrlər, oyun yaddaşı və digər məlumatlar burada saxlanılır.
  • dalvik- gizli yer- Dalvik proqramı üçün proqram keş yaddaş sahəsi. Dalvik *.apk uzantısına malik proqramların işləməsi üçün əsas olan Java virtual maşınıdır. Proqramların daha sürətli işə salınması üçün onların ön yaddaşı yaradılır.

Qovluq Sistem sistem məlumatlarını və OS-nin işləməsi üçün lazım olan hər şeyi saxlayır. Bu qovluqlardan bəzilərinə baxaq:

  • proqram– burada sistem proqramları (SMS, telefon, təqvim, parametrlər və s.), həmçinin cihaz istehsalçısı tərəfindən quraşdırılmış proqramlar (markalı vidjetlər, canlı divar kağızları və s.)
  • şriftlər- sistem şriftləri
  • media– standart zəng melodiyaları, bildirişlər, həyəcan siqnalları və interfeys səsləri, həmçinin yükləmə animasiyası (bootanimation) ehtiva edir.
  • qurmaq. dayaq– Bu fayl, sistemin dəqiq tənzimlənməsi ilə bağlı söhbətlərdə və məqalələrdə demək olar ki, ilk qeyd olunan fayldır. Bu, ekran sıxlığı, yaxınlıq sensorunun gecikmə vaxtı, WiFi nəzarəti, cihazın adı və istehsalçısı və bir çox digər parametrlər kimi çox sayda parametrləri ehtiva edir.

4. Kök

- Hansı qovluqda nə olduğunu bilmək yaxşıdır, amma bununla bağlı bir şey edə bilərsinizmi?

Bəli! Amma bizim hüquqlarımız lazımdır super istifadəçi (kök) ya da Windows ilə bənzətmə aparsaq, Administrator hüquqları. Əvvəlcə bütün Android cihazları olmadan gəlir kök son istifadəçi üçün hüquqlar, yəni. Biz bir cihaz aldıqda onun tam hüquqlu sahibi deyilik. Bu, həm zərərli proqramlardan, həm də istifadəçinin özündən qorunmaq üçün edilir - axı, bacarıqsız əllərdə sistemə tam giriş əməliyyat sisteminin "ölümünə" və sonradan cihazın yanmasına səbəb ola bilər.

"Yaxşı, belə təhlükəli şeyin nə faydası var?"– soruşursan.

İndi sizə deyəcəm:

  • Məlumatların ehtiyat nüsxəsini çıxarmaq və yanıb-sönəndən və ya təsadüfən silindikdən sonra bərpa etmək imkanı.
  • Sistemi əl ilə və ya xüsusi proqramlardan istifadə edərək tənzimləmək.
  • Sistem proqramlarının, zəng melodiyalarının, divar kağızlarının və s.
  • OS görünüşünün dəyişdirilməsi (məsələn, batareyanın doldurulmasını faizlə göstərmək)
  • Funksionallığın əlavə edilməsi (dəstəkreklam- hoc şəbəkələr, məsələn)

Bu siyahını uzun müddət davam etdirmək olar, lakin məncə bu nümunələr kök imtiyazlarının imkanları və tətbiqi genişliyi haqqında fikir əldə etmək üçün kifayət edəcəkdir.

Bütün bunlar əladır, amma indi hər hansı bir proqram əməliyyat sisteminin "ürəyinə" və mənim məlumatlarıma daxil ola biləcəkmi?

Yox. Bu və ya digər tətbiqin kök girişinə icazə verib-verməməsinə siz qərar verirsiniz. Bunun üçün Superuser və ya onun qabaqcıl bacısı SuperSU adlı bir proqram var. Bu və ya oxşar proqram olmadan, kökdən istifadə etmək mümkün deyil.

Epiloq

Gördüyünüz kimi, Android o qədər də mürəkkəb deyil. Ümid edirəm ki, məqaləni oxuduqdan sonra siz yeni bir şey öyrəndiniz və ya uzun müddətdir sizi maraqlandıran suala cavab aldınız.

O zaman məzuniyyətə çıxacağam, şərhlərdə görüşərik. 😉

Hansı ki, hazırda platformanın dəstəyi və daha da inkişafı ilə məşğuldur. Android, Google tərəfindən hazırlanmış kitabxanalar vasitəsilə cihazı idarə edən Java proqramları yaratmağa imkan verir. Android Native Development Kit istifadə edərək C və digər proqramlaşdırma dillərində proqramlar yazmaq da mümkündür. Android ilə işləyən ilk cihaz 23 sentyabr 2008-ci ildə təqdim edilən HTC tərəfindən hazırlanmış T-Mobile G1 smartfonu idi. Tezliklə digər istehsalçılar. Bundan əlavə, həvəskarlar Android-i bir sıra tanınmış cihazlara köçürdülər, o cümlədən: Nokia N810, HTC Touch smartfonları, həmçinin x86 arxitekturası kompüterlərinə uğurlu keçid halları var Android-i Neo FreeRunner-a köçürməklə deyil, həm də əvvəlcədən quraşdırılmış Google mobil platforması ilə öz biznesini bu smartfonların satışı üzərində quran Koolu şirkətinin təşəbbüsü.

Açıq icma tərəfindən hazırlanmış alternativ proqram təminatı

Android proqram təminatının tamamilə açıq mənbə versiyalarını inkişaf etdirən həvəskarlar birliyi var. CyanogenMod və VillainROM bu proqram təminatının məşhur nümunələridir.

  • Google xidmətlərinin Android cihazından çıxarılması (məsələn, məlumatların sinxronizasiyası kimi) - istifadəçi məlumatlarının yalnız Android cihazında lokallaşdırılmasını təmin etmək üçün - identifikasiya məlumatlarının (IMEI, telefon nömrəsi, GPS koordinatları və s.) Google serverləri;
  • Android ƏS-nin yeni versiyalarının daha operativ və tez-tez (cihazların istehsalçılarının özləri ilə müqayisədə) təmin edilməsi;
  • yeni parametrlər və funksiyalarla Android proqram təminatının əlavə edilməsi. Yüklənmiş proqramları MicroSD kartında saxlamaq imkanı (2.2-ə qədər Android versiyaları üçün) və s.

Bəzi Android cihaz istehsalçıları aparatla (məsələn, HTC) yanıb-sönmə imkanını bloklayır, bəziləri aparatla yanıb-sönmə imkanını maneə törətmir (lakin buna baxmayaraq, yanıb-sönməkdə çətinliklər saxlayır; məsələn, LG (Android 2.2.1-ə qədər versiyalar üçün) Bəzi istehsalçılar (bəzi cihaz modellərində Sony Ericsson) hər şeyi edir ki, qabaqcıl istifadəçi nəinki başqa bir proqram təminatı quraşdıra bilsin, həm də özünü yarada bilsin (proqramın, proqram təminatının, proqram platformasının arxitekturasında sənədlərin dəyişdirilməsi üçün ətraflı təlimat). , orijinal proqram təminatının kodu və s. təqdim olunur). telefonda (zəmanəti bərpa etmək üçün rəsmi flasher ilə rəsmi proqram təminatını yenidən quraşdırmalısınız).

Android arxitekturası

Linux Kernel Səviyyəsi

Bildiyiniz kimi, Android bir qədər azaldılmış Linux OS nüvəsinə əsaslanır və buna görə də bu səviyyədə biz onu tam olaraq görə bilərik (versiya 2.6.x). O, sistemi gücləndirir və təhlükəsizlik, yaddaş, güc və prosesin idarə edilməsi, həmçinin şəbəkə yığını və sürücü modelini təmin etmək üçün məsuliyyət daşıyır.

Kitabxanalar səviyyəsi


Proqramlar üçün ən vacib əsas funksionallığı təmin etmək üçün nəzərdə tutulmuş kitabxanalar dəsti (Kitabxanalar). Yəni, daha yüksək səviyyələr üçün həyata keçirilən alqoritmləri təmin etmək, fayl formatlarını dəstəkləmək, məlumatların kodlaşdırılması və dekodlanması (məsələn, multimedia kodekləri), qrafiklərin çəkilməsi və daha çox şey üçün cavabdeh olan bu səviyyədir. Kitabxanalar C/C++-da həyata keçirilir və istehsalçı tərəfindən əvvəlcədən quraşdırılmış formada təchiz edilmiş xüsusi cihaz avadanlıqları üçün tərtib edilir.

  1. Səth meneceri – Android OS kompozit pəncərə menecerindən istifadə edir. Qrafikləri birbaşa displey buferinə göstərmək əvəzinə sistem daxil olan rəsm əmrlərini ekrandankənar buferə göndərir, burada onlar başqaları ilə birlikdə toplanaraq müəyyən kompozisiya təşkil edir və sonra ekranda istifadəçiyə göstərilir. Bu, sistemə maraqlı qüsursuz effektlər, pəncərə şəffaflığı və hamar keçidlər yaratmağa imkan verir.
  2. Media Framework - kitabxanalar. Onların köməyi ilə sistem audio və video məzmunu yaza və oxuya, həmçinin statik təsvirləri göstərə bilər. MPEG4, H.264, MP3, AAC, AMR, JPG və PNG daxil olmaqla bir çox məşhur formatlar dəstəklənir.
  3. SQLite, Android-də məlumatın saxlanması üçün tətbiqlər tərəfindən istifadə olunan verilənlər bazası ilə işləmək üçün əsas mühərrik kimi istifadə edilən yüngül və yüksək performanslı relational DBMS-dir.
  4. OpenGL ES (Embedded Systems üçün OpenGL) daxili sistemlərdə işləmək üçün uyğunlaşdırılmış OpenGL qrafik proqramlaşdırma interfeysinin alt dəstidir.
  5. FreeType bitmaplarla işləmək üçün kitabxanadır. Bu yüksək keyfiyyətli şrift və mətn göstərmə mühərrikidir.
  6. WebKit, Google Chrome və Apple Safari masaüstü brauzerlərində də istifadə olunan brauzer mühərriki kitabxanasıdır.
  7. SGL (Skia Graphics Engine) 2D qrafika ilə işləmək üçün açıq mühərrikdir. Qrafik kitabxana Google məhsuludur və tez-tez digər proqramlarında istifadə olunur.
  8. SSL - eyni adlı kriptoqrafik protokolu dəstəkləyən kitabxanalar.
  9. Libc standart C kitabxanasıdır, yəni Linux əsaslı cihazlarda işləmək üçün konfiqurasiya edilmiş BSD tətbiqidir. Buna Bionic deyilir.

Eyni səviyyədə yerləşir Android Runtime - iş vaxtı mühiti.


Onun əsas komponentləri nüvə kitabxanaları dəsti və Dalvik virtual maşınıdır. Kitabxanalar əsas Java dil kitabxanalarında mövcud olan aşağı səviyyəli funksionallığın çoxunu təmin edir.

Hər bir Android proqramı Dalvik virtual maşınının öz nümunəsində işləyir. Beləliklə, bütün işləyən proseslər əməliyyat sistemindən və bir-birindən təcrid olunur. Ümumiyyətlə, Android Runtime arxitekturası elədir ki, proqramlar ciddi şəkildə virtual maşın mühitində işləyir. Bunun sayəsində əməliyyat sisteminin nüvəsi onun digər komponentlərinin mümkün zərərlərindən qorunur. Buna görə də, səhv kodu və ya zərərli proqram işə salındıqda Android və ona əsaslanan cihazı korlaya bilməyəcək. Bu qoruyucu funksiya, proqram kodunun icrası ilə yanaşı, Android Runtime əlavəsi üçün əsas funksiyalardan biridir.

Tətbiq Çərçivəsi təbəqəsi


Android sizə əsas tətbiqlərdə istifadə olunan API-nin tam gücündən istifadə etməyə imkan verir. Arxitektura elə qurulmuşdur ki, hər hansı bir proqram başqa bir tətbiqin artıq tətbiq edilmiş imkanlarından istifadə edə bilər, bir şərtlə ki, sonuncu onun funksionallığından istifadə etmək imkanı açsın. Beləliklə, arxitektura ƏS komponentlərinin və tətbiqlərinin təkrar istifadəsi prinsipini həyata keçirir.

Bütün tətbiqlərin əsasını bir sıra sistemlər və xidmətlər təşkil edir:

  1. Siyahılar, mətn sahələri, cədvəllər, düymələr və ya hətta daxili veb brauzer kimi vizual proqram komponentləri yaratmaq üçün istifadə edilə bilən zəngin və genişləndirilə bilən Baxışlar dəsti.
  2. Bəzi proqramların başqalarına əlçatan etdiyi məlumatları idarə edən Məzmun Provayderləri, onlardan öz işləri üçün istifadə edə bilsinlər.
  3. Resurs meneceri, funksionallığı olmayan (kod daşımayan), məsələn, simli məlumatlar, qrafiklər, fayllar və s.
  4. Bildiriş meneceri, bunun sayəsində bütün tətbiqlər status çubuğunda istifadəçiyə öz bildirişlərini göstərə bilər.
  5. Tətbiqin həyat dövrlərini idarə edən Fəaliyyət Meneceri fəaliyyət tarixçəsi məlumatlarını saxlayır və həmçinin onlar üçün naviqasiya sistemi təqdim edir.
  6. Tətbiqlərə cihazın cari coğrafi yeri haqqında vaxtaşırı yenilənmiş məlumatları almağa imkan verən Məkan Meneceri.

Android OS Linux nüvəsinə əsaslanan mobil telefonlar, planşet kompüterlər və netbuklar üçün əməliyyat sistemidir. Əvvəlcə Android Inc. tərəfindən hazırlanmış, sonra Google tərəfindən satın alınmışdır. Google Android ƏS-nin ilk versiyası 2008-ci ilin sentyabrında buraxıldı. 2010-cu ilin sonunda Android platforması smartfonlar üçün ən çox satılan ƏS oldu.

Android OS əməliyyat sistemini və əsas platformalar arası proqramlar dəstini özündə birləşdirən Google-dan mobil cihazlar üçün açıq proqram təminatı dəstidir. Android ƏS proqramları Android mobil platformasının bir hissəsi olan Dalvik virtual maşını üçün bayt kodu proqramlarıdır.

Android əməliyyat sisteminin arxitekturası

Əgər Android komponent modelini iyerarxiya kimi təsəvvür etsək (şək. 2), onda biz 4 əsas səviyyəni ayırd edə bilərik:

Linux nüvəsi səviyyəsi;

Kitabxana səviyyəsi;

İş vaxtı səviyyəsi (Android Runtime);

Tətbiq çərçivəsi səviyyəsi (ApplicationFramework);

Tətbiqlər səviyyəsi.

Linux nüvəsi səviyyəsi. Ən aşağı hissədə əməliyyat sisteminin nüvəsi yerləşəcək, Android OS Linux 2.6 versiyasına əsaslanır, beləliklə, platforma yaddaş və proseslərin idarə edilməsi, təhlükəsizlik, şəbəkə və sürücülər kimi kernel sistem xidmətlərinə çıxış əldə edir. . Kernel həm də aparat və proqram təminatı arasında abstraksiya təbəqəsi kimi xidmət edir.

Şəkil 2

Kitabxanalar Səviyyəsi: "Yuxarıda" nüvə, orta proqram kimi, yüksək səmərəlilik tələb edən ümumi problemləri həll etmək üçün nəzərdə tutulmuş kitabxanalar toplusunu əhatə edir. Yəni, daha yüksək səviyyələr üçün həyata keçirilən alqoritmləri təmin etmək, fayl formatlarını dəstəkləmək, məlumatların kodlaşdırılması və dekodlanması, qrafiklərin çəkilməsi və daha çox şey üçün cavabdeh olan bu səviyyədir. Kitabxanalar C/C++-da həyata keçirilir və istehsalçı tərəfindən əvvəlcədən quraşdırılmış formada təchiz edilmiş xüsusi cihaz avadanlıqları üçün tərtib edilir.

Aşağı səviyyəli kitabxanalardan bəzilərini sadalayaq:

SurfaceManager - səth meneceri 2D və 3D qrafik təbəqələrinin ekran altsisteminə girişi idarə edir.

Media Çərçivəsi - sistemin audio və video məlumatlarını yaza və səsləndirə, habelə statik şəkilləri göstərə biləcəyi kitabxanalar.

SQLite, Android-də əsas verilənlər bazası mühərriki kimi istifadə olunan yüngül və yüksək performanslı relational DBMS-dir.

3D kitabxanalar - 3D qrafika ilə işləmək üçün kitabxanalar.

FreeType şriftlərlə işləmək üçün nəzərdə tutulmuş kitabxanadır.

LibWebCore daxili veb brauzerinin əsasını təşkil edir.

SGL (ScalableGraphicsLibrary) - 2D qrafika ilə işləmək üçün kitabxana.

SSL - eyni adlı kriptoqrafik protokolu dəstəkləyən kitabxanalar.

libc - C dilinin standart zənglər kitabxanası.

İş vaxtı səviyyəsi (Android Runtime). Eyni səviyyədə Android Runtime - proqram proqramının icra mühitidir. Onun əsas komponentləri standart kitabxanalar dəsti və Dalvik virtual maşınıdır. Hər bir Android proqramı Dalvik virtual maşınının öz nümunəsində işləyir. Beləliklə, bütün işləyən proseslər əməliyyat sistemindən və bir-birindən təcrid olunur. Android Runtime arxitekturası elədir ki, proqramlar ciddi şəkildə virtual maşın mühitində işləyir. Bunun sayəsində əməliyyat sisteminin nüvəsi onun digər komponentlərinin mümkün zərərlərindən qorunur. Buna görə də, səhv kodu və ya zərərli proqram Android ƏS-ə və ona əsaslanan cihaza zərər verə bilməyəcək. Bu qoruyucu funksiya, proqram kodunun icrası ilə yanaşı, Android Runtime üçün əsas funksiyalardan biridir.

Tətbiq çərçivəsi səviyyəsi (ApplicationFramework). Android ƏS kernel proqramlarında istifadə olunan API-dən (tətbiqi proqramlaşdırma interfeysi - hazır siniflər, prosedurlar, funksiyalar, strukturlar və sabitlər toplusu) tam istifadə etməyə imkan verir. Arxitektura elə qurulmuşdur ki, hər hansı bir proqram başqa bir tətbiqin artıq tətbiq edilmiş imkanlarından istifadə edə bilər, bir şərtlə ki, sonuncu onun funksionallığından istifadə etmək imkanı açsın. Beləliklə, arxitektura ƏS komponentlərinin və tətbiqlərinin təkrar istifadəsi prinsipini həyata keçirir.

Bütün tətbiqlərin əsasını bir sıra sistemlər və xidmətlər təşkil edir:

Fəaliyyət Meneceri tətbiqlərin həyat dövrünü idarə edir və fəaliyyətlərin tarixçəsində naviqasiya sistemini təmin edir.

Pəncərə Meneceri pəncərələri idarə edir və tətbiqlər üçün Səth Meneceri kitabxanasına daha yüksək səviyyəli abstraksiya təmin edir.

Məzmun Provayderləri tətbiqlərə digər proqramlardan məlumat əldə etməyə imkan verən, həmçinin öz məlumatlarına çıxışı təmin edən xidmətlərdir.

ViewSystem, siyahılar, cədvəllər, giriş sahələri, düymələr və s. kimi komponentlər daxil olmaqla, tətbiqlərin görünüşünü yaratmaq üçün istifadə olunan genişləndirilə bilən funksionallığı olan zəngin görünüşlər toplusudur.

NotificationManager istənilən proqrama status panelində fərdi bildirişləri göstərməyə imkan verir.

Paket Meneceri cihazınızda quraşdırılmış paketləri idarə edir və yenilərinin quraşdırılmasına və mövcud paketlərin silinməsinə cavabdehdir.

Telefoniya Meneceri telefoniya imkanları (zənglər, SMS və s.) ilə qarşılıqlı əlaqə üçün API ehtiva edir.

Resurs meneceri (ResourceManager) sətir, qrafik və digər növ resurslara daxil olmaq üçün nəzərdə tutulmuşdur.

Proqramlara cihazın cari coğrafi yeri haqqında yenilənmiş məlumatları əldə etməyə imkan verən Məkan Meneceri

Tətbiqlər səviyyəsi. Android proqram təminatı yığınının yuxarı hissəsində tətbiq təbəqəsi yerləşir. Buraya Android OS-də əvvəlcədən quraşdırılmış bir sıra əsas proqramlar daxildir. Məsələn, ona brauzer, e-poçt müştərisi, SMS göndərmək üçün proqram, xəritələr, təqvim, əlaqə meneceri və bir çox başqaları daxildir. Quraşdırılmış proqramların siyahısı cihaz modelindən və Android versiyasından asılı olaraq dəyişə bilər. Və bu əsas dəstdən əlavə, tətbiq səviyyəsinə Android platforması üçün bütün tətbiq proqramları, o cümlədən istifadəçi tərəfindən quraşdırılmış proqramlar daxildir.