რა არის ვირტუალური ოპერატიული მეხსიერება Android-ში და რა უნდა აინტერესოთ
Miscellanea / / March 16, 2022
Ცალკე უზარმაზარი მეგაპიქსელიანი კამერა და განახლების მაღალი სიჩქარის ჩვენებასმარტფონების სამყაროში ყველაზე დიდი ტენდენცია ვირტუალური ოპერატიული მეხსიერებაა. ზოგი მას მოიხსენიებს როგორც დინამიური RAM-ის გაფართოება, ზოგი კი მას გაფართოებულ RAM-ს უწოდებს. მიუხედავად იმისა, თუ რას ეძახიან, იდეა იგივე რჩება. მიეცით საშუალება მომხმარებლებს გამოიყენონ მეხსიერების გარკვეული ნაწილი, როგორც ოპერატიული მეხსიერება, რათა დაეხმაროს მრავალ ამოცანას.
ამ სახელმძღვანელოში განვიხილავთ, თუ როგორ მუშაობს მეხსიერების მენეჯმენტი Android-ში და როგორ განსხვავდება მისგან ვირტუალური RAM-ის იდეა. ჩვენ შევეცდებით ვიფიქროთ, საჭიროა თუ არა ვირტუალური RAM ანდროიდზე. ასე რომ, მოდით მივიღოთ.
როგორ მუშაობს მეხსიერების მენეჯმენტი Android-ზე
პირველ რიგში, მნიშვნელოვანია გვესმოდეს, თუ როგორ მართავს Android თქვენს მეხსიერებას. Android-ში არის 3 ტიპის მეხსიერება. ჯერ არის თქვენი ოპერატიული მეხსიერება, შემდეგ თქვენ გაქვთ zRAM და ბოლოს თქვენი მეხსიერება. RAM არის მეხსიერების ძირითადი მოდული, რომელშიც ყველა აპლიკაცია მუშაობს. შემდეგ არის თქვენი შიდა მეხსიერება, UFS ან eMMC ბიუჯეტის მოწყობილობებზე. და ბოლოს, ჩვენ გვაქვს zRAM. არსებითად, zRAM არის დანაყოფი RAM-ის შიგნით.
zRAM-ის იდეა არის ის, რომ RAM-ზე დაბალი პრიორიტეტის მონაცემები შეკუმშულია და ინახება zRAM-ში. იმის გამო, რომ RAM არის ნებისმიერი დღით უფრო სწრაფი ვიდრე თქვენი ნორმალური მეხსიერება, შეკუმშული მონაცემების არსებობა zRAM-ში, რომელიც RAM-ის ნაწილია, არის მაინც უფრო სწრაფი იქნება, ვიდრე მასზე წვდომა თქვენი მეხსიერებიდან, მაშინაც კი, თუ დათვლით შეკუმშვისა და შეკუმშვის დროებს.
ახლა, როდესაც ჩვენ დავადგინეთ Android-ისთვის ხელმისაწვდომი მეხსიერების 3 განსხვავებული ტიპი, მოდით გავიგოთ, როგორ უმკლავდება OS ამ ყველაფერს. ასე რომ, Android იყენებს პეიჯინგის ტექნიკას. როგორ ფუნქციონირებს ის, რომ ოპერატიული მეხსიერება იყოფა გვერდებად, სადაც თითოეული გვერდი ჩვეულებრივ 4KB-ია. იქნება ეს გვერდი უფასო თუ აქტიურად გამოყენებული, ისინი გაერთიანდებიან, რათა აჩვენონ გამოყენებული RAM და გამოუყენებელი RAM, შესაბამისად. შემდეგ, ბირთვის ამოცანაა გამოყენებული მეხსიერების გარდაქმნა თავისუფალ მეხსიერებაში. ის ამას აკეთებს გამოყენებული გვერდების მონაცემების თქვენს საცავში გადატანით.
რა არის პეიჯინგი და როგორ მუშაობს
იმის გასაგებად, თუ როგორ მუშაობს, მოდით გავიგოთ გვერდების ტიპები. თქვენ შეგიძლიათ დაყოთ გვერდები ორ ტიპად - სუფთა და ჭუჭყიანი გვერდები. სუფთა გვერდებს აქვს შეუცვლელი ასლი შენახული შენახვის სივრცეში. იმავდროულად, ბინძურ გვერდებს აქვთ შენახული მონაცემების შეცვლილი ასლი. ახლა რა არის ეს შეცვლილი და არამოდიფიცირებული? მოდით ვუწოდოთ მას თქვენი მეხსიერების დინამიური გამოყენება.
შეუცვლელი ასლები არის სტატიკური მონაცემები, ხოლო შეცვლილი ასლები არის დინამიური მონაცემების ცვლილებები ყოველ წამში. Android-ს შეუძლია გაწმინდოს სუფთა გვერდები საჭიროების შემთხვევაში, რადგან ისინი დინამიურად არ წვდებიან რესურსებს. ეს ხელს უწყობს RAM-ის განთავისუფლებას და მის ხელმისაწვდომობას. ეს შეიძლება ცოტა ზედმეტად ტექნიკურად ჟღერდეს, ასე რომ, მოდით გავამარტივოთ რეალურ სამყაროში არსებული აპლიკაციების გამოყენება.
დავუშვათ, რომ გახსენით Twitter, დაათვალიერეთ თქვენი არხი და შემდეგ გადახვიდეთ სხვაზე. Twitter ჯერ კიდევ არსებობს თქვენს RAM-ში. მაგრამ თუ ცოტა ხნით არ გახსნით, მისი პრიორიტეტი მცირდება. მოგვიანებით, თუ რაიმე ახალს გაუშვით, Android-მა უნდა გაათავისუფლოს მეხსიერება, რომელსაც Twitter იყენებს. ასე რომ, რას აკეთებს ის არის, რომ ის გადააქვს თავის მნიშვნელობებსა და მონაცემებს საცავში და გაძლევთ თავისუფალ ადგილს. ამიტომაც, როცა Twitter-ს ხელახლა გაუშვით, ის ჯერ გაჩვენებთ ვადებს, რომელზედაც იყო ჰიბერნირებული და შემდეგ განახლდება. იგივე ეხება Facebook-ს, Reddit-ს ან მსგავს აპებს, როგორიცაა Calculator ან Notes. ეს აპები იყენებს სუფთა გვერდებს, რადგან მათი მონაცემების ასლი სტატიკურად ინახება თქვენს მეხსიერებაში.
ახლა, ბინძური გვერდებისთვის, განიხილეთ Spotify ან ნებისმიერი მუსიკალური პლეერი. თქვენ იწყებთ მუსიკას პლეერის შიგნით და შემდეგ აგრძელებთ მას გაშვებას ფონზე აპის გახსნის გარეშე. თუმცა, სისტემა ვერ დახურავს მას, რადგან ის დინამიურად იყენებს თქვენს მეხსიერებას. შედეგად, Android აკუმშავს აპს და გადააქვს მას zRAM-ზე, როცა მეტი თავისუფალი ოპერატიული მეხსიერებაა საჭირო.
რა არის ვირტუალური ოპერატიული მეხსიერება
ახლა, როდესაც თქვენ იცით, თუ როგორ მართავს Android მეხსიერებას, უნდა გაინტერესებთ – საიდან მოდის ვირტუალური RAM ფუნქცია? გახსოვთ, როგორ ვთქვით, რომ zRAM ასევე RAM-ის ნაწილია? ვირტუალური ოპერატიული მეხსიერების მუშაობის წესი არის ის, რომ ის ქმნის სვოპ დანაყოფი თქვენს საცავში და იყენებს მას დამატებით zRAM-ად.
იმის გამო, რომ zRAM ინახება მხოლოდ თქვენს RAM-ზე, არსებობს შეზღუდვა იმ გვერდების რაოდენობაზე, რომელთა შეკუმშვა და შენახვა შეგიძლიათ მასში. swap დანაყოფით, თქვენ შეგიძლიათ გამოიყენოთ თქვენი შენახვის სივრცე, როგორც დამატებითი zRAM, აპების შეკუმშვისა და გადასატანად, ხოლო თქვენს რეალურ RAM-ში სივრცე ხელმისაწვდომი გახადოთ.
ეს ფუნქცია ახალია?
მაშ, ეს ყველაფერი ახალია? ისე, ნამდვილად არა. Linux თავიდანვე იყენებს swap დანაყოფებს. Android-ისთვის მორგებული ბირთვის მომხმარებლები იყენებდნენ თავიანთ SD ბარათებს დამატებითი სვოპ ტიხრების შესაქმნელად მეხსიერების მართვის გასაუმჯობესებლად.
როგორც ასეთი, ბრენდის მწარმოებლები უბრალოდ გაძლევენ იგივე მახასიათებელს, რომელიც გამომცხვარია მათი Android სკინგის შიგნით. თუმცა, ის ბადებს კითხვას - თუ ფუნქცია ასე სასარგებლოა, რატომ არ იყო ის Android-ის წყაროს კოდის ნაწილი?
ვირტუალური RAM კარგია თუ ცუდი
პასუხი მდგომარეობს თავად ვირტუალური RAM-ის ძირითად მუშაობაში. მიუხედავად იმისა, რომ ფუნქცია საშუალებას გაძლევთ გაუშვათ მეტი აპი თქვენს მოწყობილობაზე ჰიბერნირებული აპების შეკუმშვით და თქვენს მეხსიერებაში გადატანით, ის უფრო მეტ ზიანს აყენებს, ვიდრე კარგს. იმის გამო, რომ სვოპ ტიხრები არსებითად ინახავს აქტიურ აპებს, კითხვისა და წერის უფრო მაღალი გრძნობაა ჩართული.
ეს კარგად მუშაობს ტრადიციულ საცავზე, მაგრამ ფლეშ მეხსიერებას აქვს წაკითხვისა და ჩაწერის შეზღუდული რაოდენობა. ამრიგად, SWAP-ის ან ვირტუალური RAM-ის გამოყენებით, თქვენ ტექნიკურად ამცირებთ თქვენი მოწყობილობის შენახვის ხანგრძლივობას.
ეს ასევე კარგად არის ხაზგასმული Android-ის დეველოპერის გვერდი. „Android-ზე მეხსიერება არ გამოიყენება სივრცის გაცვლისთვის, როგორც ეს არის Linux-ის სხვა დანერგვაში, რადგან ხშირი წერა შეიძლება იწვევს ამ მეხსიერების ცვეთას და ამცირებს შენახვის საშუალების სიცოცხლეს“. ამის კიდევ ერთი მაგალითია ახალ Apple M1-ში MacBooks. ეს მანქანები იყენებენ სვოპ დანაყოფს Apple-ის SSD-ებზე, რაზეც მომხმარებლები საკმაოდ ბევრს უჩივიან.
აქვს თუ არა მნიშვნელობა ვირტუალურ RAM-ს და უნდა გამოიყენოთ იგი
არსებითად, ეს ყველაფერი დამოკიდებულია იმაზე, თუ როგორ განსაზღვრავთ მრავალდავალებას. თუ ის ჯონგლირებს მხოლოდ ორ-სამ აქტიურ აპლიკაციას შორის, მაშინ რა თქმა უნდა, ვირტუალური RAM ამაში დაგეხმარებათ. მაგრამ თუ თქვენ განაგრძობთ გადართვას 5-6 ძლიერ აქტიურ აპლიკაციას შორის, ვირტუალური RAM არაფერს გააკეთებს, რადგან ის განაგრძობს აპების შეცვლას.
თავის არსში, ვირტუალური ოპერატიული მეხსიერების ფუნქცია საშუალებას გაძლევთ მეტი ოპერატიული მეხსიერება ხელმისაწვდომი იყოს აპების გასაშვებად. თუმცა, ეს ხდება თქვენი შენახვის ხარჯზე. თუ თქვენ აპირებთ გააგრძელოთ თქვენი მოწყობილობის გამოყენება ორ წელზე მეტი ხნის განმავლობაში, ჩვენ მიგვაჩნია, რომ ვირტუალური RAM-ის გამოყენებას შეიძლება დიდი აზრი არ ჰქონდეს.