Kas ir virtuālā RAM operētājsistēmā Android un vai jums tas būtu jārūpējas
Miscellanea / / March 16, 2022
Neatkarīgi no milzīgs kameras megapikseļi un augsta atsvaidzes intensitātes displeji, šķiet, ka lielākā tendence viedtālruņu pasaulē ir virtuālā RAM. Daži to sauc par dinamisko RAM paplašināšanu, bet citi to sauc par paplašināto RAM. Neatkarīgi no tā, kā to sauc, ideja paliek nemainīga. Ļaujiet lietotājiem izmantot daļu savas krātuves kā RAM, lai palīdzētu veikt vairākus uzdevumus.
Šajā rokasgrāmatā mēs apspriedīsim, kā darbojas atmiņas pārvaldība operētājsistēmā Android un kā virtuālās RAM ideja atšķiras no tās. Mēģināsim pārdomāt, vai operētājsistēmā Android ir pat nepieciešama virtuālā RAM. Tātad ķersimies pie tā.
Kā atmiņas pārvaldība darbojas operētājsistēmā Android
Pirmkārt, ir svarīgi saprast, kā Android pārvalda jūsu atmiņu. Operētājsistēmā Android ir 3 atmiņas veidi. Vispirms ir jūsu RAM, pēc tam jums ir zRAM un visbeidzot jūsu krātuve. RAM ir pamata atmiņas modulis, kurā darbojas visas lietotnes. Tālāk ir pieejama jūsu iebūvētā krātuve — UFS vai eMMC budžeta ierīcēs. Visbeidzot, mums ir zRAM. Būtībā zRAM ir nodalījums RAM iekšpusē.
zRAM ideja ir tāda, ka zemas prioritātes dati RAM tiek saspiesti un saglabāti zRAM. Tā kā operatīvā atmiņa katru dienu ir ātrāka par parasto krātuvi, saspiesti dati zRAM, kas ir daļa no RAM, ir joprojām būs ātrāka nekā piekļuve tai no savas krātuves, pat ja skaitīsiet saspiešanas un atspiešanas laiku.
Tagad, kad esam izveidojuši 3 dažādus Android pieejamos atmiņas veidus, sapratīsim, kā operētājsistēma to visu apstrādā. Tātad Android izmanto peidžeru metodes. Kā tas darbojas, RAM ir sadalīta lapās, kur katra lapa parasti ir 4 KB. Neatkarīgi no tā, vai šī lapa ir bezmaksas vai aktīvi izmantota, tās apvieno, lai parādītu attiecīgi izmantoto RAM un neizmantoto RAM. Pēc tam kodola uzdevums ir pārvērst izmantoto atmiņu brīvā atmiņā. Tas tiek darīts, pārvietojot datus šajās izmantotajās lapās uz jūsu krātuvi.
Kas ir peidžeru lapa un kā tā darbojas
Lai saprastu, kā tas darbojas, izpratīsim lapu veidus. Lapas var klasificēt divos veidos — tīrās un netīrās lapas. Tīrajām lapām krātuves vietā ir saglabāta nemodificēta kopija. Tikmēr netīrajām lapām ir modificēta datu kopija, kas tiek glabāta krātuvē. Kas ir tas modificēts un nemodificēts? Sauksim to par dinamisku atmiņas izmantošanu.
Nepārveidotās kopijas ir statiski dati, savukārt modificētās kopijas ir dinamiskas datu izmaiņas, kas mainās katru sekundi. Ja nepieciešams, Android var iztīrīt tīrās lapas, jo tās dinamiski nepiekļūst resursiem. Tas palīdz atbrīvot RAM un padarīt to pieejamu vairāk. Tas varētu izklausīties pārāk tehniski, tāpēc padarīsim to vieglāk saprotamu, izmantojot reālās pasaules lietojumprogrammas.
Pieņemsim, ka atverat Twitter, pārlūkojat savu plūsmu un pēc tam pārslēdzaties uz kaut ko citu. Twitter joprojām atrodas jūsu operatīvajā atmiņā. Bet, ja kādu laiku to neatverat, tā prioritāte samazinās. Vēlāk, ja palaižat kaut ko jaunu, Android būs jāatbrīvo atmiņa, ko izmanto Twitter. Tātad tas pārceļ savas vērtības un datus uz krātuvi un nodrošina brīvu vietu. Tāpēc, vēlreiz palaižot Twitter, tas vispirms parādīs laika skalu, kurā tas tika pārziemot, un pēc tam atsvaidzinās. Tas pats attiecas uz Facebook, Reddit vai līdzīgām lietotnēm, piemēram, Calculator vai Notes. Šīs lietotnes izmanto Clean pages, jo to datu kopija tiek statiski saglabāta jūsu krātuvē.
Tagad, ja lapas ir netīras, apsveriet iespēju izmantot Spotify vai jebkuru mūzikas atskaņotāju. Jūs palaižat mūziku atskaņotājā un pēc tam turpiniet to darboties fonā, neatverot lietotni. Tomēr sistēma nevar to aizvērt, jo tā dinamiski izmanto jūsu atmiņu. Rezultātā Android saspiež lietotni un pārslēdz to uz zRAM, kad ir nepieciešams vairāk brīvas RAM.
Kas ir virtuālā RAM
Tagad, kad zināt, kā Android pārvalda atmiņu, jums jābrīnās — kur tiek izmantota virtuālās RAM funkcija? Atcerieties, kā mēs teicām, ka zRAM ir arī daļa no RAM? Virtuālā RAM darbojas tādā veidā, ka tā izveido mijmaiņas nodalījumu jūsu krātuves vietā un izmanto to kā papildu zRAM.
Tā kā zRAM tiek glabāta tikai jūsu RAM, ir ierobežots to lapu skaits, kuras varat saspiest un saglabāt tajā. Izmantojot mijmaiņas nodalījumu, varat izmantot savu krātuves vietu kā papildu zRAM, lai saspiestu un pārvietotu lietotnes, vienlaikus padarot brīvu vietu faktiskajā RAM.
Vai šī funkcija ir jauna
Tātad, vai tas viss ir jauns? Nu ne īsti. Linux kopš sākuma ir izmantojis mijmaiņas nodalījumus. Operētājsistēmā Android pielāgotā kodola lietotāji ir izmantojuši savas SD kartes, lai izveidotu papildu mijmaiņas nodalījumus, lai uzlabotu atmiņas pārvaldību.
Tādējādi zīmolu ražotāji piedāvā jums to pašu funkciju, kas ir iekļauta viņu Android apvalkā. Tomēr tas liek uzdot jautājumu — ja šī funkcija ir tik noderīga, kāpēc tā nav bijusi daļa no Android pirmkoda?
Vai virtuālā RAM ir laba vai slikta
Atbilde slēpjas pašas virtuālās RAM pamata darbībā. Lai gan šī funkcija ļauj ierīcē palaist vairāk lietotņu, saspiežot hibernētās programmas un pārvietojot tās uz krātuvi, tā nodara vairāk ļauna nekā laba. Tā kā mijmaiņas nodalījumos būtībā tiek glabātas aktīvās lietotnes, ir lielāka lasīšanas un rakstīšanas sajūta.
Tas lieliski darbojas tradicionālajā krātuvē, taču zibatmiņai ir ierobežots lasīšanas un rakstīšanas skaits. Tātad, izmantojot SWAP vai virtuālo RAM, jūs tehniski saīsināt ierīces krātuves kalpošanas laiku.
Tas arī ir labi izcelts Android izstrādātāja lapa. Operētājsistēmā Android krātuve netiek izmantota mijmaiņas vietai, tāpat kā citos Linux ieviesumos, jo bieži rakstīšana var notikt izraisīt šīs atmiņas nodilumu un saīsināt datu nesēja kalpošanas laiku. Vēl viens piemērs tam ir jaunajā Apple M1 MacBooks. Šīs mašīnas izmanto mijmaiņas nodalījumu Apple SSD, par ko lietotāji ir diezgan daudz sūdzējušies.
Vai virtuālajai RAM ir nozīme un vai to vajadzētu izmantot?
Būtībā tas viss ir atkarīgs no tā, kā definējat vairākuzdevumu veikšanu. Ja tas žonglē tikai starp divām līdz trim aktīvām lietotnēm, virtuālā RAM noteikti palīdz. Bet, ja turpināsiet pārslēgties starp 5–6 ļoti aktīvām lietotnēm, virtuālā RAM neko nedarīs, jo tas turpinātu mainīt lietotnes.
Būtībā virtuālās RAM funkcija nodrošina vairāk RAM vietas, kas pieejama lietotņu darbībai. Tomēr tas maksā jūsu krātuves izmaksas. Ja plānojat turpināt lietot ierīci ilgāk par diviem gadiem, mēs uzskatām, ka virtuālās RAM izmantošanai var nebūt jēgas.