Τι είναι η εικονική μνήμη RAM στο Android και τι πρέπει να σας ενδιαφέρει
Miscellanea / / March 16, 2022
Εκτός από τεράστια megapixel κάμερας και οθόνες υψηλού ρυθμού ανανέωσης, η μεγαλύτερη τάση στον κόσμο των smartphone φαίνεται να είναι η Virtual RAM. Κάποιοι το αναφέρουν ως Dynamic RAM expansion, ενώ άλλοι το αποκαλούν Extended RAM. Ανεξάρτητα από το πώς λέγεται, η ιδέα παραμένει η ίδια. Επιτρέψτε στους χρήστες να χρησιμοποιούν μέρος του αποθηκευτικού χώρου τους ως RAM για να βοηθήσουν στην εκτέλεση πολλαπλών εργασιών.
Θα συζητήσουμε σε αυτόν τον οδηγό πώς λειτουργεί η διαχείριση μνήμης στο Android και πώς διαφέρει η ιδέα της Virtual RAM από αυτήν. Θα προσπαθήσουμε να αναλογιστούμε εάν η εικονική RAM απαιτείται ακόμη και στο Android ή όχι. Πάμε λοιπόν σε αυτό.
Πώς λειτουργεί η διαχείριση μνήμης στο Android
Πρώτα πράγματα πρώτα, είναι σημαντικό να κατανοήσετε πώς το Android διαχειρίζεται τη μνήμη σας. Στο Android, υπάρχουν 3 τύποι μνήμης. Πρώτα είναι η RAM σας, μετά έχετε zRAM και τέλος ο αποθηκευτικός σας χώρος. Η RAM είναι η βασική μονάδα μνήμης στην οποία εκτελούνται όλες οι εφαρμογές. Στη συνέχεια, υπάρχει ο ενσωματωμένος αποθηκευτικός σας χώρος, είτε UFS είτε eMMC σε συσκευές προϋπολογισμού. Τέλος, έχουμε zRAM. Ουσιαστικά, το zRAM είναι ένα διαμέρισμα μέσα στη μνήμη RAM.
Η ιδέα πίσω από το zRAM είναι ότι τα δεδομένα χαμηλής προτεραιότητας στη μνήμη RAM συμπιέζονται και αποθηκεύονται μέσα στη zRAM. Επειδή η μνήμη RAM είναι οποιαδήποτε μέρα γρηγορότερη από την κανονική σας αποθήκευση, η ύπαρξη συμπιεσμένων δεδομένων μέσα στη zRAM, η οποία αποτελεί μέρος της μνήμης RAM, είναι και πάλι θα είναι πιο γρήγορη από την πρόσβαση σε αυτό από τον αποθηκευτικό χώρο σας, ακόμα κι αν μετράτε τους χρόνους συμπίεσης και αποσυμπίεσης.
Τώρα που δημιουργήσαμε τους 3 διαφορετικούς τύπους μνήμης που είναι διαθέσιμοι στο Android, ας καταλάβουμε πώς τα χειρίζεται όλα το λειτουργικό σύστημα. Έτσι, το Android χρησιμοποιεί τεχνικές σελιδοποίησης. Ο τρόπος λειτουργίας είναι ότι η μνήμη RAM χωρίζεται σε σελίδες, όπου κάθε σελίδα είναι συνήθως 4KB. Είτε αυτή η σελίδα είναι δωρεάν είτε χρησιμοποιείται ενεργά, συνδυάζονται για να εμφανίσουν τη χρησιμοποιημένη RAM και τη μη χρησιμοποιημένη RAM, αντίστοιχα. Στη συνέχεια, η αποστολή του πυρήνα είναι να μετατρέψει τη χρησιμοποιημένη μνήμη σε ελεύθερη μνήμη. Αυτό γίνεται μεταφέροντας τα δεδομένα σε αυτές τις χρησιμοποιημένες σελίδες στον αποθηκευτικό χώρο σας.
Τι είναι η σελιδοποίηση και πώς λειτουργεί
Για να κατανοήσουμε πώς λειτουργεί, ας κατανοήσουμε τα είδη των σελίδων. Μπορείτε να ταξινομήσετε τις Σελίδες σε δύο τύπους – Καθαρές και Βρώμικες σελίδες. Οι καθαρές σελίδες έχουν ένα μη τροποποιημένο αντίγραφο αποθηκευμένο στον αποθηκευτικό χώρο. Εν τω μεταξύ, οι βρώμικες σελίδες έχουν ένα τροποποιημένο αντίγραφο δεδομένων που είναι αποθηκευμένο στο χώρο αποθήκευσης. Τώρα, τι είναι αυτό τροποποιημένο και μη; Ας το ονομάσουμε δυναμική χρήση της μνήμης σας.
Τα μη τροποποιημένα αντίγραφα είναι στατικά δεδομένα, ενώ τα τροποποιημένα αντίγραφα είναι δυναμικές αλλαγές δεδομένων κάθε δευτερόλεπτο. Το Android μπορεί να καθαρίσει τις καθαρές σελίδες όταν χρειάζεται, καθώς δεν έχουν δυναμική πρόσβαση στους πόρους. Αυτό βοηθά στην απελευθέρωση της μνήμης RAM και στη διάθεση περισσότερων από αυτήν. Αυτό μπορεί να ακούγεται λίγο πολύ τεχνικό, οπότε ας το κάνουμε πιο εύκολο να το κατανοήσουμε χρησιμοποιώντας εφαρμογές πραγματικού κόσμου.
Ας υποθέσουμε ότι ανοίγετε το Twitter, περιηγείστε στη ροή σας και μετά μεταβείτε σε κάτι άλλο. Το Twitter είναι ακόμα εκεί στη μνήμη RAM σας. Αλλά αν δεν το ανοίξετε για λίγο, η προτεραιότητά του μειώνεται. Αργότερα, εάν εκκινήσετε κάτι νέο, το Android θα πρέπει να ελευθερώσει τη μνήμη που χρησιμοποιεί το Twitter. Αυτό που κάνει λοιπόν είναι ότι μεταφέρει τις τιμές και τα δεδομένα του στον αποθηκευτικό χώρο και σας δίνει ελεύθερο χώρο. Αυτός είναι ο λόγος για τον οποίο όταν εκκινήσετε ξανά το Twitter, θα σας δείξει πρώτα το χρονοδιάγραμμα στο οποίο ήταν αδρανοποιημένο και στη συνέχεια θα ανανεώσει. Το ίδιο ισχύει για το Facebook, το Reddit ή παρόμοιες εφαρμογές όπως η Αριθμομηχανή ή οι Σημειώσεις. Αυτές οι εφαρμογές χρησιμοποιούν καθαρές σελίδες, καθώς ένα αντίγραφο των δεδομένων τους αποθηκεύεται στατικά στον αποθηκευτικό χώρο σας.
Τώρα, για βρώμικες σελίδες, σκεφτείτε το Spotify ή οποιοδήποτε πρόγραμμα αναπαραγωγής μουσικής. Ξεκινάτε λίγη μουσική μέσα στο πρόγραμμα αναπαραγωγής και στη συνέχεια συνεχίζετε να τρέχει στο παρασκήνιο χωρίς να ανοίξετε την εφαρμογή. Ωστόσο, το σύστημα δεν μπορεί να το κλείσει καθώς χρησιμοποιεί δυναμικά τη μνήμη σας. Ως αποτέλεσμα, το Android συμπιέζει την εφαρμογή και τη μετατοπίζει σε zRAM όταν απαιτείται περισσότερη ελεύθερη μνήμη RAM.
Τι είναι η εικονική μνήμη RAM
Τώρα που ξέρετε πώς το Android διαχειρίζεται τη μνήμη, πρέπει να αναρωτηθείτε – πού έρχεται η δυνατότητα Virtual RAM; Θυμάστε πώς είπαμε ότι το zRAM είναι επίσης μέρος της μνήμης RAM; Ο τρόπος που λειτουργεί η Virtual RAM είναι ότι δημιουργεί ένα διαμέρισμα ανταλλαγής στον αποθηκευτικό χώρο σας και το χρησιμοποιεί ως επιπλέον zRAM.
Επειδή το zRAM αποθηκεύεται μόνο στη μνήμη RAM σας, υπάρχει όριο στον αριθμό των σελίδων που μπορείτε να συμπιέσετε και να αποθηκεύσετε σε αυτό. Με ένα διαμέρισμα swap, μπορείτε να χρησιμοποιήσετε τον αποθηκευτικό σας χώρο ως επιπλέον zRAM, για συμπίεση και μετατόπιση εφαρμογών, ενώ παράλληλα κάνετε διαθέσιμο χώρο στην πραγματική RAM σας.
Είναι αυτό το χαρακτηριστικό νέο
Λοιπόν, είναι καινούργιο όλο αυτό; Βασικά, όχι ακριβώς. Το Linux χρησιμοποιεί κατατμήσεις swap από την αρχή. Για το Android, οι χρήστες προσαρμοσμένου πυρήνα χρησιμοποιούν τις κάρτες SD τους για να δημιουργήσουν πρόσθετα διαμερίσματα ανταλλαγής για να βελτιώσουν τη διαχείριση της μνήμης.
Ως εκ τούτου, οι κατασκευαστές επωνυμιών απλώς σας δίνουν την ίδια δυνατότητα που ψήνεται μέσα στο δέρμα τους Android. Ωστόσο, εγείρει το ερώτημα - εάν η δυνατότητα είναι τόσο χρήσιμη, γιατί δεν ήταν μέρος του πηγαίου κώδικα του Android;
Η εικονική RAM είναι καλή ή κακή
Η απάντηση βρίσκεται στην πολύ βασική λειτουργία της ίδιας της Virtual RAM. Ενώ η λειτουργία σάς επιτρέπει να εκτελείτε περισσότερες εφαρμογές στη συσκευή σας συμπιέζοντας εφαρμογές σε αδρανοποίηση και μεταφέροντάς τις στον αποθηκευτικό χώρο σας, κάνει περισσότερο κακό παρά καλό. Επειδή τα διαμερίσματα ανταλλαγής ουσιαστικά αποθηκεύουν ενεργές εφαρμογές, υπάρχει μεγαλύτερη αίσθηση ανάγνωσης και γραφής.
Αυτό λειτουργεί καλά στην παραδοσιακή αποθήκευση, αλλά η μνήμη flash έχει περιορισμένο αριθμό αναγνώσεων και εγγραφών. Έτσι, χρησιμοποιώντας SWAP ή Virtual RAM, μειώνετε τεχνικά τη διάρκεια ζωής του αποθηκευτικού χώρου της συσκευής σας.
Αυτό τονίζεται επίσης καλά σελίδα προγραμματιστή του Android. «Στο Android, ο χώρος αποθήκευσης δεν χρησιμοποιείται για εναλλαγή χώρου όπως σε άλλες υλοποιήσεις Linux, καθώς η συχνή εγγραφή μπορεί προκαλούν φθορά σε αυτή τη μνήμη και μειώνουν τη διάρκεια ζωής του αποθηκευτικού μέσου.» Ένα άλλο παράδειγμα αυτού είναι το νέο Apple M1 MacBooks. Αυτά τα μηχανήματα χρησιμοποιούν ένα διαμέρισμα ανταλλαγής στους SSD της Apple, για το οποίο οι χρήστες έχουν παραπονεθεί αρκετά.
Έχει σημασία η εικονική μνήμη RAM και πρέπει να τη χρησιμοποιήσετε
Ουσιαστικά, όλα εξαρτώνται από το πώς ορίζετε το multitasking. Εάν κάνει ταχυδακτυλουργία μεταξύ δύο έως τριών ενεργών εφαρμογών, τότε σίγουρα, η εικονική RAM βοηθάει σε αυτό. Αλλά αν συνεχίσετε να κάνετε εναλλαγή μεταξύ 5-6 πολύ ενεργών εφαρμογών, η εικονική RAM δεν θα κάνει τίποτα, επειδή θα συνεχίσει να αλλάζει τις εφαρμογές.
Στον πυρήνα της, η δυνατότητα εικονικής RAM σάς επιτρέπει περισσότερο χώρο RAM διαθέσιμο για την εκτέλεση εφαρμογών. Ωστόσο, βαρύνει την αποθήκευσή σας. Εάν σκοπεύετε να συνεχίσετε να χρησιμοποιείτε τη συσκευή σας για περισσότερα από δύο χρόνια, πιστεύουμε ότι η χρήση εικονικής μνήμης RAM μπορεί να μην έχει πολύ νόημα.