Failų hierarchija ir struktūra „Android“ sistemoje: išsamus failų sistemos supratimo ir optimizavimo vadovas

  • „Android“ failų hierarchija pagrįsta „Linux“ ir sistema suskirstyta į svarbius katalogus, tokius kaip /system, /data ir /efs, siekiant efektyvumo, saugumo ir našumo.
  • Yra skirtingos failų sistemos (EXT4, F2FS, VFAT, YAFFS2), optimizuotos kiekvienam atminties tipui (vidinei, išorinei, „flash“).
  • Leidimai ir programų izoliacija užtikrina privatumą ir duomenų apsaugą, kurią sustiprina „SELinux“ ir dedikuotas saugyklos modelis.
  • Suprasti struktūrą ir valdymo įrankius yra labai svarbu kuriant, pritaikant ir šalinant „Android“ įrenginius.

Failų hierarchija „Android“.

„Android“ operacinė sistema, sukurta naudojant „Linux“ branduolį, naudoja sudėtingą ir modulinį failų hierarchija kuri apibrėžia, kaip tvarkoma ir tvarkoma visa įrenginyje esanti informacija. Ši struktūra, sukurta siekiant užtikrinti saugumą, efektyvumą ir lankstumą, yra būtina tiek vartotojams, norintiems optimizuoti savo saugyklą, tiek kūrėjams, norintiems kurti saugias ir efektyvias programas. Išsamus šios organizacijos supratimas yra labai svarbus norint kuo geriau išnaudoti „Android“ išmaniuosius telefonus, planšetinius kompiuterius ir kitus įrenginius, taip pat norint pašalinti dažniausiai pasitaikančias klaidas ar pritaikyti sistemą.

Ką reiškia failų hierarchija „Android“ sistemoje ir kodėl ji svarbi?

La „Android“ failų struktūra Tai metodas, kuriuo operacinė sistema tvarko savo vidinius aplankus ir failus, laikydamasi panašios organizacinės struktūros kaip ir kitose „Linux“ sistemose. Įsivaizduokite medį, kuriame šaknis, pavaizduota „/“, yra visko atspirties taškas. Iš ten išsišakoja katalogai, kuriuose saugoma viskas – nuo ​​įkrovos ir sistemos failų iki vartotojo duomenų, programų, nustatymų ir laikinųjų failų.

Ši architektūra:

  • Teikia saugumas ir izoliacija tarp skirtingų programų ir sistemos naudotojų.
  • Leidžia a efektyvus ir patikimas veikimas, palengvinant išteklių, tokių kaip atmintis ir saugykla, valdymą.
  • Palengvina užduotis kūrimas, derinimas ir taisymas prietaiso.

Apžvalga: kaip failų sistema sutvarkyta „Android“ sistemoje

Sistemos širdis yra šakninis katalogas „/“Iš to išplaukia pagrindiniai katalogai Juose yra svarbiausi „Android“ failai ir ištekliai. Kiekvienas iš jų atlieka konkrečią funkciją, o jų supratimas padeda išvengti rimtų klaidų (pvz., netyčia ištrinti svarbius aplankus) ir suprasti, kaip „Android“ tvarko duomenis:

Pagrindiniai „Android“ hierarchijos katalogai

Pakatalogiai

  • /boot: Svarbus aplankas įkrovimui. Čia yra branduolys „Linux“ ir failų, kurie leidžia sistemai paleisti, sąrašas. Dėl šių failų sugadinimo įrenginys dažnai tampa nebenaudojamas.
  • /sistema: Apima bibliotekas, vykdomuosius failus ir bazinės programos kuriuose veikia „Android“. Tai apima vykdymo aplinką ir numatytuosius APK failus.
  • /atkūrimas: Procedūroms skirta vieta restauravimas, atnaujinimas ir remontas sistemos, pvz., gamyklinių nustatymų atkūrimas arba naujų „Android“ versijų diegimas.
  • /duomenys: Katalogas vartotojo informacija ir programas. Joje saugomi nustatymai, duomenų bazės, asmens duomenys ir bet kokia vartotojo ar programų sugeneruota informacija.
  • /cache: Vieta failams laikinas kurie pagreitina tiek sistemos, tiek programų įkėlimą ir našumą.
  • /įvairūs: Saugo įrenginio techninius parametrus ir nustatymus (pvz., radijo arba belaidžių tinklų duomenis).
  • /efs: Aplankas apžvalga kur yra svarbi įrenginio informacija, pvz., IMEI ir MAC adresai. Praradus šią informaciją, telefonas gali tapti neveiksnus.
  • /milžinas: Katalogas įrenginio failai kurios leidžia sąveikauti su aparatine įranga (atmintimi, ekranu, jutikliais ir kt.).
  • /etc: Aplankas su konfigūracijos failus sistemos, paprastai nuoroda į /system/etc.
  • /mnt ir /storage: Išorinės ir vidinės atminties prijungimo taškai. Čia pateikiamos SD kortelės, USB diskai ir kai kurios naudotojams prieinamos vidinės atminties vietos.
  • /proc: Virtuali sistema, kurioje yra informacija apie aktyvius procesus ir branduolio ypatybes. Naudojamas pažangiai diagnostikai ir stebėjimui.
  • /lib: Sudėtyje yra sistemos bibliotekos panašios į DLL sistemoje „Windows“; būtinos, kad programos ir procesai veiktų.
  • /sbin: Išskirtinės vykdomosios programos įkrovos ir sistemos administratoriui.
  • /sdcard: Failo vieta multimedija, dokumentai ir atsisiuntimai vartotojo. Tai gali būti simbolinis kelias į /storage/sdcard.

Kiti svarbūs katalogai sistemoje „Android“

  • /tiekėjas: Jame yra gamintojo pateikti failai, pvz., aparatinės įrangos tvarkyklės, bibliotekos ir programinė-aparatinė įranga.
  • /root: Supervartotojo pagrindinis katalogas. „Android“ sistemoje jis paprastai tuščias, tačiau „Linux“ distribucijose jame yra šakninė konfigūracija.
  • /išankstinis įkėlimas: Anksčiau jame buvo saugomos gamintojo iš anksto įdiegtos programos ir failai. Šiais laikais jis dažnai būna tuščias.
  • /config: Jis išsaugo konkrečius nustatymus, nors daugelyje „Android“ versijų jis atrodo tuščias.

Leidimai, saugumas ir izoliacija: vartotojų ir programų valdymo pagrindas

Kiekvienas „Android“ failas ir katalogas turi leidimai Skaityti, rašyti ir vykdyti apribojimus, kurie riboja prieigą vartotojams ir programoms. Tai neleidžia programėlei keisti sistemos failų ar pasiekti kitų programėlių asmeninių duomenų be leidimo, taip užtikrinant saugumą ir privatumą.

„Android“ taip pat įgyvendina skirtingus izoliacijos lygiai:

  • Kiekviena programa veikia pagal naudotojas ir jo aplinka, todėl jos duomenis, esančius /data/data, gali pasiekti tik pati programa (nebent turite root prieigą).
  • El leidimų modelis reikalauja, kad naudotojo būtų paprašyta leidimo pasiekti slaptą informaciją: vietą, kontaktus, saugyklą, kamerą ir kt.
  • The šiuolaikinės „Android“ versijos Jie sustiprina privatumą, apribodami programų prieigą prie išorinės saugyklos ir kitų sistemos išteklių, suteikdami tokias teises kaip READ_EXTERNAL_STORAGE o MANAGE_EXTERNAL_STORAGE.

Svarbiausios pagrindinių katalogų detalės ir funkcijos

/boot: branduolio ir įkrovos failai

Šiame skirsnyje yra „Android“ branduolys kartu su RAM disku ir kitais failais, reikalingais įrenginiui paleisti. Jei šie failai bus sugadinti arba ištrinti, įrenginio nebus galima paleisti ir sistemai atkurti reikės atlikti išplėstinę atkūrimo procedūrą.

/system: stabili operacinės sistemos bazė

Šiame kataloge yra:

  • Vykdomieji failai ir bendrinamos bibliotekos /system/bin y / system / lib, būtinas esminėms funkcijoms atlikti.
  • Sistemos programos (skaičiuotuvas, laikrodis, pranešimai…), esančios / System / app.
  • „Android“ vykdymo aplinka (ART), kuris atsakingas už programų paleidimą. Norėdami sužinoti daugiau apie tai, kaip jis veikia ir kokia jo struktūra, apsilankykite mūsų išsamiame vadove adresu Hierarchija ir failų struktūra „Android“ sistemoje.
  • Numatytosios temos ir konfigūracijos failai.

Dėl saugumo priežasčių šis katalogas yra apsaugotas nuo rašymo ir jį galima modifikuoti tik turint root prieigą.

/data: vartotojo ir programos duomenys

Aplankas / duomenys Tai būtina norint suasmeninti įrenginį ir užtikrinti naudotojo sąveiką su juo. Čia saugoma:

  • Programų sukurtos duomenų bazės, nuostatos ir failai (pvz., pokalbiai, nustatymai, vartotojų sugeneruoti vaizdai).
  • Nuolatiniai duomenys, pvz., vartotojų paskyros, atsarginės kopijos ir laikini programų failai.
  • Kiekviena programa turi pakatalogį /data/data/paketo_pavadinimas kur laikote visą savo asmeninę informaciją.

Kai pašalinate programą, „Android“ automatiškai ištrina jos poaplankį aplanke /data, taip užtikrindama duomenų išvalymą.

/cache: laikina saugykla, skirta sistemos greičiui pagreitinti

Šiame kataloge saugomi laikini failai, kurie leidžia operacinei sistemai ir programoms greičiau pasiekti dažnai naudojamą informaciją. Pavyzdžiui, miniatiūros, naršymo duomenys, laukiantys atnaujinimų failai ir kt. Jį galima saugiai ištrinti, kad atlaisvintumėte vietos ir pagerintumėte našumą, nors tai dažnai sulėtina kai kurių programų paleidimą po ištrynimo.

/efs: aplankas su svarbia, įrenginiui būdinga informacija

Labai jautrus ir kritiškas, /efs saugo duomenis, pvz. IMEI, produkto kodas ir MAC adresai „Wi-Fi“ ir „Bluetooth“. Jo niekada nereikėtų modifikuoti ar ištrinti: jį praradus telefonas gali nebeprisijungti prie mobiliųjų ar „Wi-Fi“ tinklų, todėl daugeliu atvejų jis gali būti netinkamas naudoti. Prieš atliekant tokias operacijas kaip root'inimas ar ROM perrašymas, rekomenduojama sukurti šio katalogo atsarginę kopiją.

/dev, /proc, /lib, /sbin: techniniai direktoriai

  • /milžinas: Jame yra specialūs failai, kurie vaizduoja įvairius aparatūros įrenginius (ekraną, kameras, atmintinę, jutiklius...).
  • /proc: Virtuali failų sistema su informacija apie aktyvius procesus ir branduolio statistiką.
  • /lib: Jis renka dinamines bibliotekas, kurias programos naudoja vykdymo metu.
  • /sbin: Vidiniai dvejetainiai failai ir scenarijai administravimui ir įkrovos funkcijoms.

/mnt, /storage, /sdcard: prijungimo taškai ir prieiga prie saugyklos

  • /mnt: Tradiciškai jis buvo naudojamas kaip išorinės atminties (SD kortelių, USB diskų ir kt.) prijungimo taškas, nors naujesnėse „Android“ versijose šį vaidmenį perima /storage.
  • /saugykla: Dabartinis atskaitos taškas, prie kurio prijungta vidinė atmintis, SD kortelės ir USB įrenginiai. Pavyzdžiui, tai apima /storage/emulated/0 pagrindinei atmintinei ir /storage/XXXX-XXXX išorinėms SD kortelėms.
  • /sdcard: Paprastai tai simbolinė nuoroda į /storage/sdcard arba /storage/emulated/0 ir suteikia tiesioginę prieigą prie vartotojo asmeninių ir multimedijos failų.

Kiti svarbūs antriniai katalogai

  • /tiekėjas: Čia įrenginių gamintojai saugo tvarkykles, modulius ir programinę-aparatinę įrangą, būdingą jų aparatinei įrangai, todėl „Android“ galima diferencijuoti ir pritaikyti skirtingiems prekių ženklams ir modeliams.
  • /etc: Sistemos konfigūracija, raktai ir išplėstiniai nustatymai. Paprastai tai simbolinė nuoroda į /system/etc.

Palaikomos failų sistemos „Android“ sistemoje: EXT4, F2FS, YAFFS2 ir kt.

„Android“ yra lanksti naudodama skirtingas failų sistemas, kad optimizuotų vidinės ir išorinės atminties valdymą ir patvarumą:

  • EXT4 (išplėstinė failų sistema 4): El dažniausiai pasitaikantys ir pažangiausi „Android“ sistemoje. Tai leidžia valdyti didelius duomenų kiekius, siūlo automatinius vientisumo patikrinimus, klaidų taisymą ir didelių failų palaikymą. Jis daugiausia naudojamas sistemos ir vartotojų skaidiniams.
  • VFAT: Patobulinta klasikinio FAT32 versija, pritaikyta palaikyti didesnius nei 4 GB failus. Plačiai naudojama išorinėse SD kortelėse, ji suderinama su „Windows“ ir „Mac“ ir gali būti prijungta prie /sdcard arba /mnt/sdcard, priklausomai nuo įrenginio.
  • F2FS (Flash atmintinei pritaikyta failų sistema): Sukurta specialiai prisiminimams blykstė kaip mobiliuosiuose telefonuose ir planšetiniuose kompiuteriuose naudojama NAND. Ji optimizuoja rašymą, sumažina fragmentaciją ir energijos suvartojimą, o tai pagerina našumą ir pailgina baterijos veikimo laiką.
  • YAFFS2 (Dar viena „Flash“ failų sistema 2): Sistema sukurta veikti su NAND „flash“ atmintimi. Ji garantavo vientisumą net ir po elektros energijos tiekimo sutrikimų. Šiuolaikiniuose įrenginiuose ją iš esmės pakeitė EXT4.
  • RFS (tvirta failų sistema): Sukurtas ir naudojamas senesniuose „Samsung“ telefonuose, jis pasižymėjo dideliu greičiu, bet prastu atsparumu dilimui ir dabar yra nebenaudojamas.

„Android“ architektūros sluoksniai: nuo aparatinės įrangos iki programų

„Linux“ ir „Android“

„Android“ struktūra yra suskirstyta į kelias dalis gerai apibrėžti sluoksniai kurie dirba kartu, kad pasiūlytų saugią, efektyvią ir pritaikomą patirtį:

  • „Linux“ branduolys: Tai suteikia pagrindą sąveikai su įrenginio fiziniais komponentais (procesoriumi, RAM, atmintimi, tinklu ir kt.). Tai yra labai svarbu saugumui ir išteklių valdymui.
  • Aparatinės įrangos abstrakcijos sluoksnis (HAL): Leidžia programinei įrangai bendrauti su aparatine įranga naudojant standartines sąsajas, supaprastinant .
  • Gimtosios bibliotekos: Parašyti C/C++ kalba, jie apima grafiką (OpenGL ES), duomenų bazes (SQLite), multimedijos apdorojimą ir kitas pažangias funkcijas.
  • Android Runtime (ART): Vykdymo aplinka, atsakinga už programų paleidimą, našumo optimizavimą per išankstinį kompiliavimą ir energijos suvartojimo mažinimą.
  • Taikymo sistema: API rinkinys, suteikiantis kūrėjams prieigą prie pranešimų, grafikos išteklių, veiklos valdymo ir esminių paslaugų.
  • Programos: Vartotojams matomas sluoksnis, kuriame yra iš anksto įdiegtos ir vartotojo atsisiųstos programos.

Srauto pavyzdys: Atidarius kameros programėlę, užklausa perkelia sistemą, praeina per HAL ir pasiekia atitinkamą aparatinę įrangą, todėl užtikrinama sklandi ir saugi patirtis.

Saugyklos valdymas „Android“ sistemoje: tipai ir vietos

Vidinė atmintis ir išorinė atmintis

Skirtumas tarp „Android“ vidinė atmintis y išorinė saugykla, kiekvienas su skirtingomis funkcijomis ir leidimais. Norėdami geriau tvarkyti šiuos duomenis, taip pat galite peržiūrėti mūsų vadovą kaip sukurti aplanką android ir tvarkykite savo failus.

  • Vidinė atmintis: Visada pasiekiama, rezervuota svarbiausiems sistemos ir programų failams bei duomenims. Čia saugomi kiekvienos programos privatūs duomenys, neprieinami kitoms programoms ar vartotojams be root teisių.
  • Išorinė saugykla: Tai apima naudotojui matomą vidinę atmintį (nuotraukas, atsisiuntimus, muziką) ir visas prijungtas SD korteles arba USB diskus. Failus gali pasiekti ir bendrinti kelios programos, nors nuo naujausių „Android“ versijų ši prieiga yra daug griežčiau kontroliuojama leidimais ir privatumo apribojimais.

Programų saugojimo kategorijos ir metodai

„Android“ programos gali tvarkyti duomenis skirtingais būdais, priklausomai nuo jų naudojimo ir poreikių. Nuo failų tvarkymo iki PDF redagavimo – viskas susiję su „Android“ failų struktūra, apie kurią galite sužinoti daugiau mūsų specialiame vadove. redaguoti PDF failą „Android“.

  1. Programai būdingi failai: Jie saugomi vidiniuose kataloguose, nepasiekiamuose kitoms programoms. Čia saugoma neskelbtina ir privati ​​informacija. Pavyzdys: /data/data/package_name/
  2. Bendrinama saugykla: Failai ir medija, kuriuos gali skaityti ir redaguoti kitos programos, pvz., vaizdai, vaizdo įrašai ar dokumentai, esantys tokiuose keliuose kaip /storage/emulated/0/Android/data/package_name/.
  3. Nuostatos: Paprasti, privatūs rakto ir reikšmės duomenys, idealiai tinkantys konkrečioms programoms pritaikyti vartotojo nustatymus ir konfigūracijas.
  4. Duomenų bazės: Nuolatiniai struktūrizuoti duomenys, saugomi viduje naudojant tokias sistemas kaip „SQLite“ arba „Room“.

Leidimai ir prieiga prie saugios saugyklos

Siekiant apsaugoti privatumą ir saugumą, nuo „Android 10“ išorinės ir bendros saugyklos valdymas atliekamas naudojant detalią leidimų sistemą:

  • Vartotojas turi aiškiai įgalioti kiekvieną programą pasiekti išorinius failus ar aplankus (READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE).
  • Modelis specifinė saugykla Apriboja prieigą prie kiekvienos programos failų išorinėje atmintinėje, užkertant kelią nediskriminacinei prieigai prie visos išorinės erdvės.
  • Leidimas MANAGE_EXTERNAL_STORAGE suteikia visišką visų išorinių failų kontrolę, tačiau to reikėtų prašyti tik esant būtinybei.

Techninės pastabos ir atsargumo priemonės, į kurias reikia atsižvelgti

  • Failų keliai gali skirtis priklausomai nuo gamintojo ir „Android“ versijos, todėl niekada nerekomenduojama programose naudoti fiksuotų absoliučių kelių. Visada naudokite standartines API.
  • Netyčia ištrynus tokius katalogus kaip /efs, /system arba /data, įrenginys gali tapti nebenaudojamas.
  • Įdiegiant šaknines arba pasirinktines ROM, labai svarbu sukurti svarbių sričių atsargines kopijas.

„Android“ failų sistemos optimizavimas, saugumas ir našumas

Veiklos optimizavimas

„Android“ įgyvendina skirtingus optimizavimo strategijos:

  • El uSO ART ir ankstyvas kompiliavimas, siekiant pagreitinti programos vykdymą.
  • Reguliarus valymas /cache katalogas atlaisvinti vietos ir padidinti greitį.
  • Efektyvus RAM valdymas, kuris atlaisvina išteklius foninėms programoms.
  • Naudojant šiuolaikines failų sistemas, pvz. F2FS y EXT4 siekiant sumažinti susidėvėjimą ir pailginti „flash“ atminties tarnavimo laiką.

Failų ir programų struktūros saugumas

  • Leidimų ir izoliacijos modelis apsaugo asmens duomenis ir riboja programas, kad būtų išvengta neteisėtos prieigos.
  • Integracija Selinux vykdo griežtas prieigos politikas ir apsaugo svarbius sistemos išteklius nuo potencialiai kenkėjiškų programų.
  • Saugumo naujinimai diegiami moduliniu būdu, todėl galima greitai ir efektyviai atnaujinti skirtingus sistemos sluoksnius, nesiremiant pilnais naujinimais.

Visa tai reiškia saugesnius, greitesnius ir pritaikomus „Android“ įrenginius, sumažinant duomenų praradimo ir negrįžtamų gedimų riziką.

Kaip peržiūrėti ir tvarkyti failus „Android“ įrenginyje

  • Vartotojai gali naudoti pažangios failų naršyklės pvz., „Root Explorer“ arba „Android Studio“ failų naršyklę, skirtą failams ir aplankams peržiūrėti, kopijuoti arba ištrinti (būkite atsargūs su svarbiausiais katalogais).
  • Kūrėjams „Android Studio“ leidžia naršyti visoje įrenginio failų sistemoje, todėl derinimas ir kūrimas yra lengvesni.

Praktinis pritaikymas: projektų katalogų kūrimas „Android Studio“ programoje

Kuriant programas, Projekto katalogų struktūra „Android Studio“ programoje Lygiai taip pat svarbu tvarkingai tvarkyti kodą ir palengvinti jo priežiūrą:

  • programėlė/manifestas: Jame yra failas „AndroidManifest.xml“ su visa bendra programos informacija (pavadinimu, piktograma, temomis, veikla...).
  • programėlė/Java: Aplankas, kuriame yra programos šaltinio kodas (tiek Java, tiek Kotlin kalbomis), taip pat logikos klasės ir vienetų testai.
  • programėlė/rez.: Skirta grafiniams ir sąsajos ištekliams, pvz., maketams, vaizdams, piktogramoms, spalvoms, teksto eilutėms ir temoms.
  • „Gradle“ scenarijai: Apima projekto konfigūracijos ir priklausomybių failus, pvz., „build.gradle“ arba „settings.gradle“.

Pažink ją failų hierarchija sistemoje „Android“ o vidinė jo struktūra leidžia išnaudoti visas įrenginio galimybes. Nuo saugumo ir našumo gerinimo iki problemų diagnostikos ir aplinkos pritaikymo – šis vadovas suteikia gilų supratimą, kuris bus svarbus tiek patyrusiam vartotojui, tiek profesionaliam kūrėjui.

„Android“ programėlės srautų schemoms kurti-3
Susijęs straipsnis:
Failų hierarchija ir struktūra „Android“ sistemoje: išsamus ir atnaujintas vadovas