Čo je virtuálna RAM v systéme Android a malo by vás to zaujímať
Rôzne / / March 16, 2022
Okrem toho obrovské megapixely fotoaparátu a zobrazuje vysokú obnovovaciu frekvenciu, zdá sa, že najväčším trendom vo svete smartfónov je virtuálna pamäť RAM. Niektorí to označujú ako rozšírenie Dynamic RAM, zatiaľ čo iní to nazývajú Extended RAM. Bez ohľadu na to, ako sa to volá, myšlienka zostáva rovnaká. Umožnite používateľom používať určitú časť svojho ukladacieho priestoru ako pamäť RAM na pomoc pri multitaskingu.
V tejto príručke sa budeme zaoberať tým, ako funguje správa pamäte v systéme Android a ako sa od nej líši myšlienka virtuálnej pamäte RAM. Pokúsime sa zamyslieť nad tým, či je virtuálna RAM v systéme Android vôbec potrebná alebo nie. Tak poďme na to.
Ako funguje správa pamäte v systéme Android
V prvom rade je dôležité pochopiť, ako Android spravuje vašu pamäť. V systéme Android existujú 3 typy pamäte. Najprv je to vaša RAM, potom máte zRAM a nakoniec vaše úložisko. RAM je základný pamäťový modul, v ktorom bežia všetky aplikácie. Potom je tu vaše vstavané úložisko, buď UFS alebo eMMC na lacných zariadeniach. Nakoniec tu máme zRAM. ZRAM je v podstate oddiel vnútri pamäte RAM.
Myšlienkou pamäte RAM je, že údaje s nízkou prioritou v pamäti RAM sú komprimované a uložené vo vnútri pamäte RAM. Pretože RAM je každý deň rýchlejšia ako vaše bežné úložisko, komprimované údaje vo vnútri pamäte RAM, ktorá je súčasťou pamäte RAM, sú stále to bude rýchlejšie ako prístup z úložiska, aj keď spočítate časy kompresie a dekomprimácie.
Teraz, keď sme vytvorili 3 rôzne typy pamäte dostupnej pre Android, pochopme, ako to všetko zvláda operačný systém. Android teda využíva techniky stránkovania. Funguje to tak, že RAM je rozdelená na stránky, pričom každá stránka má zvyčajne 4 kB. Bez ohľadu na to, či je táto stránka bezplatná alebo aktívne používaná, kombinujú zobrazenie použitej pamäte RAM a nevyužitej pamäte RAM. Potom je úlohou jadra previesť použitú pamäť na voľnú pamäť. Robí to presunom údajov na týchto použitých stránkach do vášho úložiska.
Čo je stránkovanie a ako to funguje
Aby sme pochopili, ako to funguje, pochopme druhy stránok. Stránky môžete klasifikovať do dvoch typov – čisté a špinavé strany. Čisté strany majú neupravenú kópiu uloženú v úložnom priestore. Medzitým majú špinavé stránky upravenú kópiu údajov uloženú v úložisku. Teraz, čo je toto upravené a nemodifikované? Nazvime to dynamické využitie vašej pamäte.
Neupravené kópie sú statické údaje, zatiaľ čo upravené kópie sú dynamické údaje, ktoré sa menia každú sekundu. Android môže v prípade potreby vyčistiť čisté stránky, pretože dynamicky nepristupujú k zdrojom. Pomáha to uvoľniť pamäť RAM a sprístupniť jej viac. Môže to znieť príliš technicky, takže si to zjednodušíme na pochopenie pomocou aplikácií v reálnom svete.
Predpokladajme, že otvoríte Twitter, prezeráte si informačný kanál a potom prepnete na niečo iné. Twitter je stále vo vašej RAM. Ak ho však chvíľu neotvoríte, jeho priorita sa zníži. Neskôr, ak spustíte niečo nové, Android bude musieť uvoľniť pamäť, ktorú Twitter používa. Takže to, čo robí, je, že presúva svoje hodnoty a údaje do úložiska a poskytuje vám voľný priestor. To je dôvod, prečo keď znova spustíte Twitter, najprv vám ukáže časovú os, na ktorej bol hibernovaný, a potom sa obnoví. To isté platí pre Facebook, Reddit alebo podobné aplikácie ako Calculator alebo Notes. Tieto aplikácie používajú čisté stránky, pretože kópia ich údajov je staticky uložená vo vašom úložisku.
Teraz, ak ide o špinavé stránky, zvážte Spotify alebo akýkoľvek hudobný prehrávač. V prehrávači spustíte nejakú hudbu a potom ju necháte spustenú na pozadí bez toho, aby ste otvorili aplikáciu. Systém ho však nemôže zatvoriť, pretože dynamicky využíva vašu pamäť. Výsledkom je, že Android komprimuje aplikáciu a presunie ju na zRAM, keď je potrebná väčšia voľná RAM.
Čo je virtuálna RAM
Teraz, keď už viete, ako Android spravuje pamäť, musíte sa pýtať – odkiaľ prichádza funkcia virtuálnej RAM? Pamätáte si, ako sme povedali, že zRAM je tiež súčasťou RAM? Virtuálna RAM funguje tak, že vo vašom úložnom priestore vytvorí odkladací oddiel a použije ho ako extra zRAM.
Pretože pamäť RAM je uložená iba vo vašej pamäti RAM, počet stránok, ktoré môžete komprimovať a uložiť, je obmedzený. S odkladacou oblasťou môžete použiť svoj úložný priestor ako extra pamäťovú pamäť na kompresiu a presúvanie aplikácií a zároveň sprístupniť priestor vo vašej skutočnej pamäti RAM.
Je táto funkcia nová?
Takže, je toto všetko nové? No, ani nie. Linux od začiatku používa swapové oddiely. V prípade systému Android používatelia vlastného jadra používali svoje karty SD na vytváranie ďalších odkladacích oddielov na zlepšenie správy pamäte.
Značkoví výrobcovia vám preto dávajú rovnakú funkciu, ktorá je upečená v ich vzhľadoch pre Android. Vyvoláva to však otázku – ak je táto funkcia taká užitočná, prečo nebola súčasťou zdrojového kódu Androidu?
Je virtuálna RAM dobrá alebo zlá
Odpoveď spočíva v úplne základnom fungovaní samotnej virtuálnej RAM. Aj keď vám táto funkcia umožňuje spúšťať na zariadení viac aplikácií komprimovaním aplikácií v režime hibernácie a ich presunom do úložiska, spôsobuje to viac škody ako úžitku. Keďže swapovacie oddiely v podstate ukladajú aktívne aplikácie, je potrebné lepšie čítať a zapisovať.
Na tradičnom úložisku to funguje dobre, ale pamäť typu flash má obmedzený počet čítaní a zápisov. Takže používaním SWAP alebo virtuálnej RAM technicky znižujete životnosť úložiska vášho zariadenia.
Toto je tiež dobre zvýraznené na Stránka vývojára systému Android. „V systéme Android sa úložisko nepoužíva na odkladací priestor, ako je to v iných implementáciách Linuxu, pretože časté písanie môže spôsobiť opotrebovanie tejto pamäte a skrátiť životnosť pamäťového média.“ Ďalším príkladom je nový Apple M1 MacBooky. Tieto stroje používajú odkladací oddiel na SSD od spoločnosti Apple, na ktorý sa používatelia dosť sťažujú.
Záleží na virtuálnej RAM a mali by ste ju používať?
V podstate to všetko závisí od toho, ako definujete multitasking. Ak žongluje iba medzi dvoma až tromi aktívnymi aplikáciami, určite s tým virtuálna RAM pomáha. Ak však budete prepínať medzi 5 až 6 vysoko aktívnymi aplikáciami, virtuálna pamäť RAM neurobí nič, pretože by neustále presúvala aplikácie.
Vo svojom jadre vám funkcia virtuálnej pamäte RAM umožňuje viac miesta v pamäti RAM, ktoré je k dispozícii na spustenie aplikácií. Je to však na úkor vášho skladovania. Ak máte v úmysle používať svoje zariadenie dlhšie ako dva roky, predpokladáme, že používanie virtuálnej pamäte RAM nemusí mať veľký zmysel.