एंड्रॉइड में वर्चुअल रैम क्या है और क्या आपको इसकी परवाह करनी चाहिए
अनेक वस्तुओं का संग्रह / / March 16, 2022
इसके अलावा विशाल कैमरा मेगापिक्सेल तथा उच्च ताज़ा दर प्रदर्शित करता हैस्मार्टफोन की दुनिया में सबसे बड़ा ट्रेंड वर्चुअल रैम का लगता है। कुछ इसे डायनेमिक रैम विस्तार के रूप में संदर्भित करते हैं, जबकि अन्य इसे विस्तारित रैम कहते हैं। इसे जो भी कहा जाए, विचार वही रहता है। मल्टीटास्क में मदद करने के लिए उपयोगकर्ताओं को अपने स्टोरेज के कुछ हिस्से को RAM के रूप में उपयोग करने दें।
हम इस गाइड में चर्चा करेंगे कि एंड्रॉइड में मेमोरी मैनेजमेंट कैसे काम करता है और वर्चुअल रैम का विचार इससे कैसे अलग है। हम यह विचार करने का प्रयास करेंगे कि क्या Android पर भी Virtual RAM की आवश्यकता है या नहीं। तो चलिए इसे प्राप्त करते हैं।
मेमोरी प्रबंधन Android पर कैसे काम करता है
सबसे पहले चीज़ें, यह समझना महत्वपूर्ण है कि Android आपकी मेमोरी को कैसे प्रबंधित करता है। एंड्राइड में 3 तरह की मेमोरी होती है। पहले आपकी रैम है, फिर आपके पास zRAM है, और अंत में आपका स्टोरेज है। रैम बेसिक मेमोरी मॉड्यूल है जिसके अंदर सभी ऐप चलते हैं। फिर बजट उपकरणों पर आपका ऑनबोर्ड स्टोरेज, या तो यूएफएस या ईएमएमसी है। अंत में, हमारे पास zRAM है। अनिवार्य रूप से, zRAM RAM के अंदर एक विभाजन है।
ZRAM के पीछे का विचार यह है कि RAM पर निम्न-प्राथमिकता वाला डेटा संकुचित होता है और zRAM के अंदर संग्रहीत होता है। क्योंकि RAM आपके सामान्य संग्रहण से किसी भी दिन तेज़ है, zRAM के अंदर संपीड़ित डेटा होना, जो RAM का एक भाग है, है अभी भी इसे अपने स्टोरेज से एक्सेस करने की तुलना में तेज़ होने जा रहा है, भले ही आप कंप्रेसिंग और अनकंप्रेसिंग समय की गणना करें।
अब जब हमने एंड्रॉइड के लिए उपलब्ध 3 अलग-अलग प्रकार की मेमोरी स्थापित कर ली है, तो आइए समझते हैं कि ओएस इसे कैसे संभालता है। तो एंड्रॉइड पेजिंग तकनीकों का उपयोग करता है। यह कैसे कार्य करता है कि RAM पृष्ठों में टूट जाती है, जहाँ प्रत्येक पृष्ठ आमतौर पर 4KB का होता है। चाहे वह पृष्ठ मुफ़्त हो या सक्रिय रूप से उपयोग किया गया हो, वे क्रमशः प्रयुक्त RAM और अप्रयुक्त RAM को दिखाने के लिए संयोजित होते हैं। फिर, कर्नेल का कार्य प्रयुक्त मेमोरी को फ्री मेमोरी में बदलना है। यह उन उपयोग किए गए पृष्ठों के डेटा को आपके संग्रहण में स्थानांतरित करके ऐसा करता है।
पेजिंग क्या है और यह कैसे काम करता है
यह कैसे काम करता है, इसे समझने के लिए आइए पेजों के प्रकारों को समझते हैं। आप पेज को दो प्रकारों में वर्गीकृत कर सकते हैं - क्लीन और डर्टी पेज। साफ पन्नों में एक असंशोधित प्रति भंडारण स्थान में सहेजी जाती है। इस बीच, गंदे पृष्ठों में भंडारण में संग्रहीत डेटा की एक संशोधित प्रति होती है। अब, यह संशोधित और असंशोधित क्या है? आइए इसे अपनी स्मृति का गतिशील उपयोग कहते हैं।
असंशोधित प्रतियां स्थिर डेटा हैं, जबकि संशोधित प्रतियां गतिशील डेटा प्रति सेकंड परिवर्तन हैं। एंड्रॉइड जरूरत पड़ने पर साफ पृष्ठों को शुद्ध कर सकता है क्योंकि वे गतिशील रूप से संसाधनों तक नहीं पहुंच रहे हैं। यह रैम को खाली करने और इसे और अधिक उपलब्ध कराने में मदद करता है। यह थोड़ा अधिक तकनीकी लग सकता है, तो चलिए वास्तविक दुनिया के अनुप्रयोगों का उपयोग करके इसे समझना आसान बनाते हैं।
मान लीजिए कि आप ट्विटर खोलते हैं, अपने फ़ीड के माध्यम से ब्राउज़ करते हैं, और फिर किसी और चीज़ पर स्विच करते हैं। आपकी रैम में अभी भी ट्विटर है। लेकिन अगर आप इसे थोड़ी देर के लिए नहीं खोलते हैं, तो इसकी प्राथमिकता कम हो जाती है। बाद में, यदि आप कुछ नया लॉन्च करते हैं, तो एंड्रॉइड को उस मेमोरी को मुक्त करना होगा जो ट्विटर उपयोग कर रहा है। तो यह क्या करता है कि यह अपने मूल्यों और डेटा को भंडारण में स्थानांतरित कर देता है, और आपको खाली स्थान देता है। यही कारण है कि जब आप ट्विटर को फिर से लॉन्च करते हैं, तो यह आपको पहले उस समयरेखा को दिखाएगा जिस पर इसे हाइबरनेट किया गया था, और फिर रीफ्रेश करें। वही फेसबुक, रेडिट या कैलकुलेटर या नोट्स जैसे समान ऐप के लिए है। ये ऐप्स क्लीन पेज का उपयोग करते हैं क्योंकि उनके डेटा की एक कॉपी आपके स्टोरेज के अंदर स्थिर रूप से सहेजी जाती है।
अब, गंदे पन्नों के लिए, Spotify या किसी म्यूजिक प्लेयर पर विचार करें। आप प्लेयर के अंदर कुछ म्यूजिक शुरू करते हैं और फिर बिना ऐप को खोले बैकग्राउंड में चलते रहते हैं। हालाँकि, सिस्टम इसे बंद नहीं कर सकता क्योंकि यह गतिशील रूप से आपकी मेमोरी का उपयोग कर रहा है। नतीजतन, एंड्रॉइड ऐप को संपीड़ित करता है और अधिक मुफ्त रैम की आवश्यकता होने पर इसे zRAM में स्थानांतरित कर देता है।
वर्चुअल रैम क्या है
अब जब आप जान गए हैं कि एंड्रॉइड मेमोरी को कैसे मैनेज करता है, तो आपको आश्चर्य होगा - वर्चुअल रैम फीचर कहां से आता है? याद रखें कि हमने कैसे कहा कि zRAM भी RAM का एक हिस्सा है? वर्चुअल रैम जिस तरह से काम करता है वह यह है कि यह आपके स्टोरेज स्पेस पर एक स्वैप पार्टीशन बनाता है, और इसे अतिरिक्त zRAM के रूप में उपयोग करता है।
क्योंकि zRAM केवल आपके RAM पर संग्रहीत है, इसमें उन पृष्ठों की संख्या की एक सीमा है जिन्हें आप संपीड़ित और संग्रहीत कर सकते हैं। स्वैप पार्टीशन के साथ, आप अपने स्टोरेज स्पेस को अतिरिक्त zRAM के रूप में उपयोग कर सकते हैं, ऐप्स को कंप्रेस करने और शिफ्ट करने के लिए, जबकि आपकी वास्तविक रैम में जगह उपलब्ध कराते हैं।
क्या यह फीचर नया है
तो क्या यह सब नया है? असल में ऐसा नहीं है। Linux प्रारंभ से ही स्वैप विभाजन का उपयोग कर रहा है। एंड्रॉइड के लिए, कस्टम कर्नेल उपयोगकर्ता मेमोरी प्रबंधन में सुधार के लिए अतिरिक्त स्वैप विभाजन बनाने के लिए अपने एसडी कार्ड का उपयोग कर रहे हैं।
जैसे, ब्रांड निर्माता आपको केवल वही सुविधा दे रहे हैं जो उनकी Android खाल के अंदर बेक की गई है। हालाँकि, यह सवाल पूछता है - यदि यह सुविधा इतनी मददगार है, तो यह Android के स्रोत कोड का हिस्सा क्यों नहीं है?
वर्चुअल रैम अच्छी है या खराब
इसका उत्तर वर्चुअल रैम के मूल कार्य में ही निहित है। जबकि यह सुविधा आपको हाइबरनेटेड ऐप्स को संपीड़ित करके और उन्हें अपने स्टोरेज में स्थानांतरित करके अपने डिवाइस पर अधिक ऐप्स चलाने की अनुमति देती है, लेकिन यह अच्छे से अधिक नुकसान करती है। चूंकि स्वैप विभाजन अनिवार्य रूप से सक्रिय ऐप्स संग्रहीत कर रहे हैं, इसमें पढ़ने और लिखने की उच्च भावना शामिल है।
यह पारंपरिक भंडारण पर ठीक काम करता है, लेकिन फ्लैश मेमोरी में सीमित संख्या में पढ़ने और लिखने होते हैं। तो स्वैप या वर्चुअल रैम का उपयोग करके, आप तकनीकी रूप से अपने डिवाइस स्टोरेज के जीवन काल को कम कर रहे हैं।
इस पर भी अच्छी तरह से प्रकाश डाला गया है Android का डेवलपर पृष्ठ. "एंड्रॉइड पर, स्टोरेज का उपयोग स्वैप स्पेस के लिए नहीं किया जाता है जैसे कि यह अन्य लिनक्स कार्यान्वयन पर होता है क्योंकि बार-बार लिखने से हो सकता है इस स्मृति पर पहनने का कारण बनता है और भंडारण माध्यम के जीवन को छोटा करता है।" इसका एक और उदाहरण नए Apple M1. में है मैकबुक। वे मशीनें एपल के एसएसडी पर स्वैप पार्टीशन का इस्तेमाल करती हैं, जिसके लिए यूजर्स काफी शिकायत करते रहे हैं।
क्या वर्चुअल रैम मायने रखता है और क्या आपको इसका इस्तेमाल करना चाहिए?
अनिवार्य रूप से, यह सब इस बात पर निर्भर करता है कि आप मल्टीटास्किंग को कैसे परिभाषित करते हैं। अगर यह सिर्फ दो से तीन सक्रिय ऐप्स के बीच बाजीगरी कर रहा है, तो निश्चित रूप से, वर्चुअल रैम उसमें मदद करता है। लेकिन अगर आप 5-6 अत्यधिक सक्रिय ऐप्स के बीच स्विच करते रहते हैं, तो वर्चुअल रैम कुछ नहीं करेगा क्योंकि यह ऐप्स को स्थानांतरित करता रहेगा।
इसके मूल में, वर्चुअल रैम सुविधा आपको ऐप्स चलाने के लिए अधिक RAM स्थान उपलब्ध कराने की अनुमति देती है। हालाँकि, यह आपके भंडारण की कीमत पर आता है। यदि आप दो साल से अधिक समय तक अपने डिवाइस का उपयोग करना चाहते हैं, तो हम मानते हैं कि वर्चुअल रैम का उपयोग करना ज्यादा मायने नहीं रखता है।