Mi az a virtuális RAM az Androidban, és érdemes-e érdekelni?
Vegyes Cikkek / / March 16, 2022
Attól eltekintve hatalmas kamera megapixeles és nagy frissítési gyakoriságú kijelzők, az okostelefonok világában a legnagyobb trendnek a Virtuális RAM tűnik. Egyesek dinamikus RAM-bővítésnek, mások kiterjesztett RAM-nak nevezik. Függetlenül attól, hogy mi a neve, az ötlet ugyanaz marad. Lehetővé teszi a felhasználók számára, hogy tárhelyük egy részét RAM-ként használják a többfeladatos munka elősegítése érdekében.
Ebben az útmutatóban megvitatjuk, hogyan működik a memóriakezelés az Androidban, és miben különbözik a Virtuális RAM ötlete ettől. Megpróbáljuk elgondolkodni azon, hogy szükség van-e virtuális RAM-ra Androidon vagy sem. Tehát térjünk rá.
Hogyan működik a memóriakezelés Androidon
Először is fontos megérteni, hogyan kezeli az Android a memóriáját. Az Androidon belül 3 típusú memória létezik. Először a RAM, majd a zRAM, végül a tárhely. A RAM az az alapvető memóriamodul, amelyben minden alkalmazás fut. Aztán ott van a beépített tárhely, akár UFS, akár eMMC a költségvetési eszközökön. Végül megvan a zRAM. Lényegében a zRAM egy partíció a RAM-on belül.
A zRAM mögött az az elképzelés áll, hogy a RAM-on lévő alacsony prioritású adatokat tömörítik és a zRAM-ban tárolják. Mivel a RAM minden nappal gyorsabb, mint a normál tárhely, a zRAM-ban, amely a RAM része, tömörített adatok vannak még mindig gyorsabb lesz, mint a tárhelyről való hozzáférés, még akkor is, ha számolja a tömörítési és kitömörítési időt.
Most, hogy létrehoztuk az Android számára elérhető 3 különböző memóriatípust, értsük meg, hogyan kezeli mindezt az operációs rendszer. Tehát az Android személyhívó technikákat használ. A működése az, hogy a RAM oldalakra van felosztva, ahol minden oldal általában 4 KB-os. Függetlenül attól, hogy az oldal ingyenes vagy aktívan használt, ezek kombinálják a használt RAM-ot, illetve a fel nem használt RAM-ot. Ezután a kernel feladata, hogy a használt memóriát szabad memóriává alakítsa. Ezt úgy teszi, hogy a használt oldalakon lévő adatokat áthelyezi a tárhelyére.
Mi az a lapozás és hogyan működik
Ahhoz, hogy megértsük, hogyan működik, ismerjük meg az oldalak típusait. Az oldalakat két típusba sorolhatja: tiszta és piszkos oldalak. A tiszta oldalaknak van egy módosítatlan másolata a tárhelyen. Eközben a piszkos oldalakon a tárhelyen tárolt adatok módosított másolata található. Nos, mi ez a módosított és módosítatlan? Nevezzük ezt a memória dinamikus használatának.
A módosítatlan másolatok statikus adatok, míg a módosított másolatok másodpercenként változó adatok. Az Android szükség esetén törölheti a tiszta oldalakat, mivel nem férnek hozzá dinamikusan az erőforrásokhoz. Ez segít felszabadítani a RAM-ot, és többet elérhetővé tenni. Ez kissé túl technikainak hangzik, ezért tegyük egyszerűbbé a valós alkalmazások használatának megértését.
Tegyük fel, hogy megnyitja a Twittert, átböngészi a hírfolyamot, majd átvált valami másra. A Twitter továbbra is ott van a RAM-ban. De ha egy ideig nem nyitja ki, csökken a prioritása. Később, ha valami újat indít, az Androidnak fel kell szabadítania a Twitter által használt memóriát. Tehát az az, hogy áthelyezi az értékeit és adatait a tárolóba, és szabad helyet biztosít. Ez az oka annak, hogy amikor újra elindítja a Twittert, először azt az idővonalat jeleníti meg, amelyen a hibernált állapotba került, majd frissíti. Ugyanez vonatkozik a Facebookra, a Redditre vagy hasonló alkalmazásokra, például a Számológépre vagy a Notesra. Ezek az alkalmazások a Tiszta oldalakat használják, mivel adataik másolata statikusan elmentésre kerül a tárhelyen.
A piszkos oldalakért fontolja meg a Spotify-t vagy bármely zenelejátszót. Elindít néhány zenét a lejátszóban, majd az alkalmazás megnyitása nélkül fut a háttérben. A rendszer azonban nem tudja bezárni, mivel dinamikusan használja a memóriáját. Ennek eredményeként az Android tömöríti az alkalmazást, és zRAM-ra váltja, ha több szabad RAM-ra van szükség.
Mi az a virtuális RAM
Most, hogy tudja, hogyan kezeli az Android a memóriát, el kell tűnődnie – hol jön be a Virtuális RAM funkció? Emlékszel, hogyan mondtuk, hogy a zRAM is a RAM része? A Virtuális RAM úgy működik, hogy létrehoz egy swap partíciót a tárhelyen, és azt extra zRAM-ként használja.
Mivel a zRAM csak a RAM-ban van tárolva, korlátozott a tömöríthető és tárolható oldalak száma. A swap partícióval a tárhelyet extra zRAM-ként használhatja az alkalmazások tömörítésére és eltolására, miközben szabad helyet biztosít a tényleges RAM-ban.
Ez a funkció új
Szóval, ez az egész új? Nos, nem igazán. A Linux a kezdetek óta használ cserepartíciókat. Android esetén az egyéni kernelfelhasználók SD-kártyáikkal további swap partíciókat hoztak létre a memóriakezelés javítása érdekében.
Mint ilyen, a márkagyártók ugyanazt a funkciót kínálják az Android-bőrükön belül. Ez azonban felteszi a kérdést – ha a funkció ennyire hasznos, miért nem volt az Android forráskódjának része?
A virtuális RAM jó vagy rossz?
A válasz magában a virtuális RAM alapvető működésében rejlik. Bár a funkció lehetővé teszi több alkalmazás futtatását az eszközön a hibernált alkalmazások tömörítésével és a tárhelyre való áthelyezésével, több kárt okoz, mint használ. Mivel a swap partíciók alapvetően aktív alkalmazásokat tárolnak, az olvasás és az írás magasabb szintű érzékkel jár.
Ez jól működik a hagyományos tárolókon, de a flash memória korlátozott számú olvasási és írási lehetőséggel rendelkezik. Tehát a SWAP vagy a Virtual RAM használatával technikailag csökkenti az eszköz tárhelyének élettartamát.
Ez is jól ki van emelve Android fejlesztői oldal. „Androidon a tárhelyet nem használják csereterületre, mint más Linux-megvalósításoknál, mivel a gyakori írás megteheti kopást okozhat a memóriában, és lerövidítheti az adathordozó élettartamát." Egy másik példa erre az új Apple M1 MacBookok. Ezek a gépek cserepartíciót használnak az Apple SSD-in, ami miatt a felhasználók elég sokat panaszkodtak.
Számít-e a virtuális RAM, és érdemes-e használni?
Lényegében minden attól függ, hogyan definiálja a multitaskingot. Ha csak két-három aktív alkalmazás között zsonglőrködik, akkor természetesen a virtuális RAM segít ebben. De ha folyamatosan váltasz 5-6 erősen aktív alkalmazás között, a virtuális RAM nem csinál semmit, mert folyamatosan eltolná az alkalmazásokat.
Lényegében a virtuális RAM funkció több RAM-területet tesz lehetővé az alkalmazások futtatásához. Ez azonban a tárolás árába kerül. Ha két évnél tovább kívánja használni eszközét, úgy gondoljuk, hogy a virtuális RAM használatának nincs sok értelme.