Secties van intern geheugen ROM Android - laten we het pijnlijke deel over de lay-out van systeemgeheugen verduidelijken. Herverdeling van het interne flashgeheugen van de telefoon

In de uitgestrektheid van de Runet is het moeilijk om constructieve en goed gepresenteerde informatie te vinden over het ontwerp van het Android-besturingssysteem. De informatie is voor het grootste deel gefragmenteerd en onvolledig; er is geen inleidend deel met basisconcepten, wat het voor beginners moeilijk maakt om waar te nemen en te begrijpen. Zonder basiskennis van het apparaat en het besturingsalgoritme van het Android-besturingssysteem is het onmogelijk om firmware te debuggen, aan te passen of te ontwikkelen voor het Android-besturingssysteem. Dit is de aanleiding voor mij om dit artikel te schrijven, waarin ik in gewone en begrijpelijke taal zal proberen ‘complexe’ zaken over te brengen.

Het materiaal is in de eerste plaats bedoeld voor studie door gewone gebruikers en wordt gepresenteerd als een inleidende excursie in de wereld van Android-besturingssystemen. Daarom zal hier beknopte en oppervlakkige informatie worden gepresenteerd zonder technische diepgang en nuances. Dit materiaal zal nuttig zijn voor iedereen die betrokken is bij het flashen en aanpassen van firmware, het ontwikkelen voor het Android-besturingssysteem, het repareren van mobiele computersystemen en voor de gemiddelde gebruiker voor een beter begrip van de werkingsprincipes en mogelijkheden van hun Android.

Interne geheugenpartities van Android

Het interne geheugen van een Android-apparaat is verdeeld in verschillende logische schijven (partities). Hier is een klassieke geheugenindeling:

Bootloader- hier is een programma (bootloader) waarmee u het Android-besturingssysteem, de herstel- en andere servicemodi kunt starten.

Herstel- zoals de naam al aangeeft, is hier een technisch herstelmenu of eenvoudigweg Recovery geïnstalleerd.

Laars- het hart van het Android-besturingssysteem, hier zijn de instellingen voor kernel, stuurprogramma's en processor en geheugenbeheer.

Systeem- de systeempartitie, die alle bestanden bevat die nodig zijn voor de werking van het Android-besturingssysteem, dit is vergelijkbaar met de Windows-map op uw C:\-schijf (hierna zullen we deze associëren met het Windows-besturingssysteem)

Gegevens- een sectie voor het installeren van applicaties en het opslaan van hun gegevens. (Programmabestanden)

Gebruiker- dit is een bekende sdcard of, eenvoudiger gezegd, een plaats voor gebruikersbestanden (Mijn documenten). Hier zijn we gedwongen een uitweiding te maken, omdat plaatsing van deze sectie heeft verschillende opties:

  • De partitie bevindt zich niet in het interne geheugen en in plaats daarvan wordt een externe schijf gebruikt - de meest populaire optie. (Figuur 1)
  • Op apparaten met een groot ingebouwd geheugen wordt dit gedeelte gezien als sdcard, en de externe geheugenkaart wordt gezien als sdcard2 of extsd (er kunnen andere naamopties zijn). Meestal te vinden op apparaten met Android 3.2. (Fig.2 Optie 1)
  • Deze optie verving de vorige versie, samen met Android 4.0. Het gebruikersgedeelte werd vervangen door een mediamap in het gegevensgedeelte, waardoor we al het beschikbare geheugen voor de gebruiker konden gebruiken voor het installeren van programma's en het opslaan van gegevens, en niet het bedrag dat de fabrikant ons had toegewezen. Met andere woorden, sdcard en data zijn één. (Fig.2 Optie 2)

Nu we weten wat waar is, gaan we uitzoeken waarom het daar is en hoe deze informatie nuttig voor ons kan zijn.

Laten we beginnen met Bootloader. Dit is de bootloader die Android, herstel, enz. start. Wanneer we op de aan / uit-knop drukken, start de bootloader en, als er geen extra opdrachten zijn (ingedrukte toetsen), begint hij met het laden van boot. Als er een toetsencombinatie werd ingedrukt (elk apparaat heeft zijn eigen), dan wordt deze gestart, afhankelijk van het commando, herstel, fastboot of apx. De onderstaande figuur laat duidelijk zien wat Bootloader draait en hoe de secties met elkaar verbonden zijn.

Zoals je kunt zien in Figuur 3 heeft de herstelpartitie geen invloed op het laden van het Android-besturingssysteem, maar waarom is deze dan nodig? Laten we proberen het uit te zoeken.

Recovery is in wezen een klein hulpprogramma gebaseerd op de Linux-kernel en wordt onafhankelijk van Android geladen. De standaardfunctionaliteit is niet rijk: je kunt het apparaat resetten naar de fabrieksinstellingen of de firmware updaten (vooraf gedownload naar de sdkaart). Maar dankzij volksvakmensen hebben we aangepast herstel, waarmee je aangepaste (aangepaste) firmware kunt installeren, Android kunt configureren, back-ups kunt maken en nog veel meer. De aan- of afwezigheid van herstel, evenals de versie ervan, heeft geen invloed op de prestaties van het Android-besturingssysteem (een veel voorkomende vraag op de forums).

Bijzonder oplettende lezers hebben misschien een bepaalde Fastboot opgemerkt in figuur 3. Dit is een interface om rechtstreeks met interne geheugenpartities te werken via de opdrachtregel. Hiermee kunt u herstel, kernel- of nieuwe firmwareversie flashen, of een of andere partitie formatteren (alle informatie verwijderen).

Omdat we het over interfaces hebben, wil ik het hebben over een andere redelijk bekende: adb (android debugbridge). Dit is de zogenaamde debugging-modus, en deze wordt niet voor niets zo genoemd: hierdoor kunt u de werking van zowel het systeem als geheel als individuele applicaties volgen. Maar dat is nog niet alles: met adb kunt u volledige toegang krijgen tot het bestandssysteem van het apparaat en systeembestanden wijzigen, of belangrijke informatie ophalen wanneer uw apparaat vastloopt tijdens het laden. Ik zal niet alle functies van de foutopsporingsmodus beschrijven, omdat... mijn doel is om algemene informatie over te brengen, en niet een gedetailleerd overzicht van de functies van een bepaalde modus.

Nu we de theorie hebben begrepen, gaan we het Android-besturingssysteem lanceren.

We drukken op de aan / uit-knop - Bootloader wordt gestart, die de kernel (boot) laadt, die op zijn beurt het systeem (System) start, nou ja, en het laadt al programma's (gegevens) en gebruikersruimte (gebruiker). (Afb.3)

Laten we nu naar de hoofdmap gaan en naar de binnenkant van het Android-besturingssysteem zelf kijken:

In dit diagram hebben we alleen de mappen opgegeven die nodig zijn voor referentie. In feite zijn er veel meer, en voor een bespreking van slechts één systeemmap zou een heel artikel nodig zijn.

En dus de datamap. Zoals de naam al doet vermoeden, heeft het iets te maken met data, maar welke soort? Ja, bij bijna iedereen omvat dit onder meer synchronisatie- en accountgegevens, wachtwoorden voor wifi-toegangspunten en vpn-instellingen, enzovoort. Je kunt hier onder andere de app-, data- en dalvik-cache-mappen vinden - laten we eens kijken naar hun doel:

  • app - hier worden programma's en games geïnstalleerd.
  • gegevens - applicatiegegevens, hun instellingen, opgeslagen games en andere informatie worden hier opgeslagen.
  • dalvik-cache is een softwarecachegebied voor het Dalvik-programma. Dalvik is een virtuele Java-machine, die de basis vormt voor het uitvoeren van programma's met de extensie *.apk.
  • Om programma's sneller te laten starten, wordt hun cache aangemaakt.

In de map Systeem worden systeemgegevens en alles opgeslagen wat nodig is voor de werking van het besturingssysteem. Laten we eens naar enkele van deze mappen kijken:

  • app - hier zijn systeemapplicaties (sms, telefoon, agenda, instellingen, enz.), evenals applicaties die zijn geïnstalleerd door de fabrikant van het apparaat (merkwidgets, live achtergronden, enz.).
  • lettertypen - systeemlettertypen
  • media - bevat standaardbeltonen, meldingen, alarmen en interfacegeluiden, evenals opstartanimatie (bootanimatie)
  • build.prop - Dit bestand is bijna het eerste dat wordt genoemd in gesprekken en artikelen over het verfijnen van het systeem. Het bevat een groot aantal instellingen, zoals schermdichtheid, vertragingstijd van de nabijheidssensor, wifi-bediening, apparaatnaam en fabrikant, en vele andere parameters.

Root-superuser-rechten in Android OS

Zoals bij elk Linux-achtig systeem, wordt in het Android-besturingssysteem toegang tot systeembestanden en mappen verleend met root-superuser-rechten. In deze sectie hebben we besloten om het principe van de werking van superuser-rechten in het Android-besturingssysteem te bekijken, de mogelijkheid om systeembestanden of logische partities van bestandsruimte te bewerken als je root-superuser-rechten hebt.

— Weten wat er in welke map staat is goed, maar kun je daar iets aan doen?

- Ja! Maar je hebt superuser-rechten (root) nodig of, als we een analogie met Windows trekken, beheerdersrechten. In eerste instantie hebben alle Android-apparaten geen rootrechten voor de eindgebruiker, d.w.z. Als we een apparaat kopen, zijn we er geen volwaardige eigenaren van. Dit wordt zowel gedaan ter bescherming tegen malware als tegen de gebruiker zelf - in onbekwame handen kan volledige toegang tot het systeem immers leiden tot de "dood" van het besturingssysteem en de daaropvolgende noodzaak om het apparaat te flashen.

'Nou, wat is het nut van zoiets gevaarlijks?'- je vraagt.

Nu zullen we je vertellen:

  • De mogelijkheid om een ​​back-up van gegevens te maken en deze te herstellen na flashen of per ongeluk verwijderen.
  • Het systeem handmatig verfijnen of speciale programma's gebruiken.
  • Systeemapplicaties, beltonen, achtergronden, enz. verwijderen
  • Het uiterlijk van het besturingssysteem wijzigen (bijvoorbeeld de batterijlading weergeven als een percentage)
  • Functionaliteit toevoegen (ondersteuning voor bijvoorbeeld ad-hocnetwerken)

Deze lijst kan nog lang worden voortgezet, maar ik denk dat deze voorbeelden voldoende zullen zijn om een ​​idee te krijgen van de mogelijkheden en reikwijdte van de toepassing van rootprivileges.

- Dit is allemaal geweldig, maar nu heeft elk programma toegang tot het “hart” van het besturingssysteem en mijn gegevens?

- Nee. U beslist of u deze of gene applicatie root-toegang geeft of niet. Hiervoor is er een programma genaamd Superuser of het geavanceerde zusje SuperSU. Zonder dit of een soortgelijk programma is het niet mogelijk om root te gebruiken.

Zoals u kunt zien, is Android voor de gebruiker niet zo'n moeilijk besturingssysteem om te begrijpen. Als je eerdere ervaring hebt met Linux-achtige besturingssystemen, zul je veel overeenkomsten vinden met Android-systemen, en deze overeenkomsten zijn terecht. Het Android-systeem is afgeleid van en gebouwd op de Linux-kernel. Ik hoop dat je na het lezen van het artikel iets nieuws hebt geleerd of een antwoord hebt gekregen op een vraag die je al heel lang interesseert.

In deze telefoon aan intern flashgeheugen Er wordt ongeveer 830 MB ruimte toegewezen voor het opslaan van gebruikersgegevens en geïnstalleerde programma's en ongeveer 2 GB voor een intern USB-station (voor het opslaan van gebruikersbestanden).

Als er een groot aantal geïnstalleerde programma's is, is de interne geheugencapaciteit mogelijk niet voldoende, maar het is gemakkelijker om gebruikersbestanden op een externe SD-kaart op te slaan en de interne USB-opslagcapaciteit is meestal buitensporig.

Het sitebeheer is niet verantwoordelijk voor wat u met uw telefoon doet. Voordat u iets doet, bedenk waarom u het nodig heeft en bestudeer de instructies zorgvuldig.

De voorgestelde wijzigingen aan het interne flashgeheugen van de telefoon maken dit mogelijk herverdelen opslagvolumes zodat het interne geheugen voor het opslaan van programma's en gebruikersgegevens ongeveer 2,3 GB wordt, en het volume van de interne USB-drive wordt teruggebracht tot 500 MB (dit is meestal voldoende voor gebruikersbestanden).

Standaard distributie

HDDRawCopy.

Procedure voor het installeren van wijzigingen

1.

2.

Wijzig_fs.zip 2209 downloaden

3.

4.

5.

6.

7.

8.

9. Voer standaard-/fabrieksherstel in (Volume + en Aan). Selecteer item update van externe opslag toepassen en selecteer vervolgens het bestand CWM_ViT.zip.

10.

11. Selecteer item update van externe opslag toepassen en selecteer vervolgens het bestand CWM_ViT.zip.

12.

13. Start het fabrieksherstel op, waar u opnieuw het item Systeem nu opnieuw opstarten selecteert.

14.

}