वर्चुअल मेमोरी क्या है?
वर्चुअल मेमोरी एक भंडारण तंत्र है जो उपयोगकर्ता को एक बहुत बड़ी मुख्य मेमोरी होने का भ्रम प्रदान करता है। यह माध्यमिक मेमोरी के एक हिस्से को मुख्य मेमोरी के रूप में मानकर किया जाता है। वर्चुअल मेमोरी में, उपयोगकर्ता उपलब्ध मुख्य मेमोरी की तुलना में बड़े आकार के साथ प्रक्रियाओं को स्टोर कर सकता है।
इसलिए, मुख्य मेमोरी में एक लंबी प्रक्रिया को लोड करने के बजाय, ओएस मुख्य मेमोरी में एक से अधिक प्रक्रियाओं के विभिन्न हिस्सों को लोड करता है। वर्चुअल मेमोरी ज्यादातर डिमांड पेजिंग और डिमांड सेगमेंटेशन के साथ लागू की जाती है।
इस ऑपरेटिंग सिस्टम ट्यूटोरियल में, आप सीखेंगे:
- वर्चुअल मेमोरी क्या है?
- वर्चुअल मेमोरी कैसे काम करती है?
- डिमांड पेजिंग क्या है?
- पृष्ठ प्रतिस्थापन विधियों के प्रकार
- फीफो पेज रिप्लेसमेंट
- इष्टतम एल्गोरिथम
- LRU पेज रिप्लेसमेंट
- वर्चुअल मेमोरी के फायदे
- वर्चुअल मेमोरी का नुकसान
वर्चुअल मेमोरी की आवश्यकता क्यों है?
यहाँ, वर्चुअल मेमोरी का उपयोग करने के कारण हैं:
- जब भी आपके कंप्यूटर में भौतिक मेमोरी में स्थान नहीं होता है, तो यह लिखता है कि स्वैप मेमोरी में हार्ड डिस्क को वर्चुअल मेमोरी के रूप में याद रखने की आवश्यकता है।
- यदि विंडोज चलाने वाले कंप्यूटर को अधिक मेमोरी / रैम की आवश्यकता होती है, तो सिस्टम में इंस्टॉल किया जाता है, यह इस उद्देश्य के लिए हार्ड ड्राइव के एक छोटे हिस्से का उपयोग करता है।
वर्चुअल मेमोरी कैसे काम करती है?
आधुनिक दुनिया में, वर्चुअल मेमोरी इन दिनों काफी आम हो गई है। इसका उपयोग तब किया जाता है जब निष्पादन के लिए कुछ पृष्ठों को मुख्य मेमोरी में लोड करने की आवश्यकता होती है, और मेमोरी उन कई पृष्ठों के लिए उपलब्ध नहीं होती है।
इसलिए, उस स्थिति में, पृष्ठों को मुख्य मेमोरी में प्रवेश करने से रोकने के बजाय, OS हाल के दिनों में उपयोग किए जाने वाले RAM स्थान की खोज करता है या जिसे नए पृष्ठों के लिए स्थान बनाने के लिए द्वितीयक मेमोरी में संदर्भित नहीं किया जाता है मुख्य स्मृति।
आइए एक उदाहरण की मदद से वर्चुअल मेमोरी मैनेजमेंट को समझें।
उदाहरण के लिए:
मान लेते हैं कि सभी चल रहे कार्यक्रमों को संग्रहीत करने के लिए एक ओएस को 300 एमबी मेमोरी की आवश्यकता होती है। हालांकि, वर्तमान में रैम पर केवल 50 एमबी की उपलब्ध भौतिक मेमोरी है।
- ओएस तब 250 एमबी की वर्चुअल मेमोरी स्थापित करेगा और उस 250 एमबी को प्रबंधित करने के लिए वर्चुअल मेमोरी मैनेजर (वीएमएम) नामक प्रोग्राम का उपयोग करेगा।
- तो, इस मामले में, VMM हार्ड डिस्क पर एक फ़ाइल बनाएगा जो कि अतिरिक्त मेमोरी को स्टोर करने के लिए 250 एमबी आकार का है जो आवश्यक है।
- ओएस अब मेमोरी को संबोधित करने के लिए आगे बढ़ेगा क्योंकि यह रैम में संग्रहीत 300 एमबी वास्तविक मेमोरी पर विचार करता है, भले ही केवल 50 एमबी स्थान उपलब्ध हो।
- यह केवल 50 एमबी वास्तविक मेमोरी स्पेस उपलब्ध होने पर भी 300 एमबी मेमोरी का प्रबंधन करना वीएमएम का काम है।
डिमांड पेजिंग क्या है?
एक मांग पेजिंग तंत्र स्वैपिंग के साथ एक पेजिंग प्रणाली के समान है, जहां माध्यमिक मेमोरी और पृष्ठों में संग्रहीत प्रक्रियाओं को केवल मांग पर लोड किया जाता है, अग्रिम में नहीं।
इसलिए, जब एक संदर्भ स्विच होता है, तो ओएस कभी भी डिस्क से पुराने प्रोग्राम के किसी भी पेज या नए प्रोग्राम के किसी भी पेज को मुख्य मेमोरी में कॉपी नहीं करता है। इसके बजाय, यह पहले पृष्ठ को लोड करने के बाद नए प्रोग्राम को निष्पादित करना शुरू कर देगा और प्रोग्राम के पृष्ठों को लाएगा, जो संदर्भित हैं।
कार्यक्रम के निष्पादन के दौरान, यदि प्रोग्राम एक पृष्ठ का संदर्भ देता है जो मुख्य मेमोरी में उपलब्ध नहीं हो सकता है क्योंकि इसे स्वैप किया गया था, तो प्रोसेसर इसे अमान्य मेमोरी संदर्भ मानता है। ऐसा इसलिए है क्योंकि पेज की गलती और ट्रांसफर प्रोग्राम से ओएस पर नियंत्रण वापस भेजते हैं, जो पेज को मेमोरी में वापस स्टोर करने की मांग करता है।
पृष्ठ प्रतिस्थापन विधियों के प्रकार
यहाँ, कुछ महत्वपूर्ण पृष्ठ प्रतिस्थापन विधियाँ हैं
- फीफो
- इष्टतम एल्गोरिथम
- LRU पेज रिप्लेसमेंट
फीफो पेज रिप्लेसमेंट
FIFO (फर्स्ट-इन-फर्स्ट-आउट) एक सरल कार्यान्वयन विधि है। इस पद्धति में, मेमोरी एक प्रतिस्थापन के लिए पृष्ठ का चयन करती है जो स्मृति के आभासी पते में सबसे लंबे समय तक रहा है।
विशेषताएं:
- जब भी कोई नया पेज लोड किया जाता है, तो स्मृति में हाल ही में आया पेज हटा दिया जाता है। इसलिए, यह तय करना आसान है कि किस पृष्ठ को हटाने की आवश्यकता है क्योंकि इसकी पहचान संख्या हमेशा फीफो स्टैक पर होती है।
- मुख्य मेमोरी में सबसे पुराना पृष्ठ वह है जिसे पहले प्रतिस्थापन के लिए चुना जाना चाहिए।
इष्टतम एल्गोरिथम
इष्टतम पृष्ठ प्रतिस्थापन विधि प्रतिस्थापन के लिए उस पृष्ठ का चयन करती है जिसके लिए अगले संदर्भ का समय सबसे लंबा है।
विशेषताएं:
- इष्टतम एल्गोरिथ्म पृष्ठ दोष के सबसे कम संख्या में परिणाम है। इस एल्गोरिथ्म को लागू करना मुश्किल है।
- एक इष्टतम पृष्ठ-प्रतिस्थापन एल्गोरिथ्म विधि में सभी एल्गोरिदम की सबसे कम पृष्ठ-दोष दर है। यह एल्गोरिथ्म मौजूद है और जिसे MIN या OPT कहा जाना चाहिए।
- उस पृष्ठ को प्रतिस्थापित करें जो अधिक समय तक उपयोग करने के विपरीत है। यह केवल उस समय का उपयोग करता है जब किसी पृष्ठ का उपयोग करने की आवश्यकता होती है।
LRU पेज रिप्लेसमेंट
LRU का पूर्ण रूप कम से कम हाल ही में प्रयुक्त पेज है। यह विधि ओएस को थोड़े समय के लिए पृष्ठ उपयोग खोजने में मदद करती है। इस एल्गोरिथ्म को एक सम पृष्ठ के साथ एक काउंटर को जोड़कर लागू किया जाना चाहिए।
यह कैसे काम करता है?
- पृष्ठ, जिसका उपयोग मुख्य मेमोरी में सबसे लंबे समय तक नहीं किया गया है, वह है जिसे प्रतिस्थापन के लिए चुना जाएगा।
- लागू करने में आसान, एक सूची रखना, समय में वापस देखकर पृष्ठों को बदलना।
विशेषताएं:
- LRU प्रतिस्थापन विधि में सबसे अधिक संख्या है। इस काउंटर को उम्र बढ़ने के रजिस्टर भी कहा जाता है, जो उनकी उम्र को निर्दिष्ट करता है और उनके संबंधित पृष्ठों को भी संदर्भित किया जाना चाहिए।
- मुख्य मेमोरी में सबसे लंबे समय तक जिस पेज का उपयोग नहीं किया गया है, वह वह है जिसे प्रतिस्थापन के लिए चुना जाना चाहिए।
- यह एक सूची भी रखता है और समय को देखते हुए पृष्ठों को बदल देता है।
दोष दर
दोष दर एक आवृत्ति है जिसके साथ एक डिज़ाइन किया गया सिस्टम या घटक विफल रहता है। यह समय की प्रति इकाई विफलताओं में व्यक्त किया जाता है। इसे ग्रीक अक्षर λ (लैम्ब्डा) द्वारा दर्शाया गया है।
वर्चुअल मेमोरी के फायदे
यहां वर्चुअल मेमोरी का उपयोग करने के लाभ / लाभ हैं:
- वर्चुअल मेमोरी गति प्राप्त करने में मदद करती है जब कार्यक्रम के निष्पादन के लिए केवल एक विशेष खंड की आवश्यकता होती है।
- यह बहुमूत्र पर्यावरण को लागू करने में बहुत सहायक है।
- यह आपको एक बार में अधिक एप्लिकेशन चलाने की अनुमति देता है।
- यह आपको कई बड़े कार्यक्रमों को छोटे कार्यक्रमों में फिट करने में मदद करता है।
- आम डेटा या कोड स्मृति के बीच साझा किया जा सकता है।
- प्रक्रिया सभी भौतिक मेमोरी से भी बड़ी हो सकती है।
- जब भी आवश्यकता हो डेटा / कोड डिस्क से पढ़ा जाना चाहिए।
- कोड को रीलोकेशन की आवश्यकता के बिना भौतिक मेमोरी में कहीं भी रखा जा सकता है।
- मुख्य मेमोरी में अधिक प्रक्रियाओं को बनाए रखा जाना चाहिए, जो सीपीयू के प्रभावी उपयोग को बढ़ाता है।
- प्रत्येक पृष्ठ एक डिस्क पर संग्रहीत किया जाता है जब तक कि उसके बाद की आवश्यकता नहीं होती है, इसे हटा दिया जाएगा।
- यह एक ही समय में अधिक एप्लिकेशन चलाने की अनुमति देता है।
- मल्टीप्रोग्रामिंग की डिग्री पर कोई विशेष सीमा नहीं है।
- बड़े कार्यक्रमों को लिखा जाना चाहिए, क्योंकि वर्चुअल मेमोरी स्पेस उपलब्ध भौतिक मेमोरी की तुलना में अधिक है।
वर्चुअल मेमोरी का नुकसान
यहां, वर्चुअल मेमोरी का उपयोग करने की कमियां / विपक्ष हैं:
- यदि सिस्टम वर्चुअल मेमोरी का उपयोग कर रहा है तो अनुप्रयोग धीमा चल सकता है।
- अनुप्रयोगों के बीच स्विच करने के लिए अधिक समय लगता है।
- आपके उपयोग के लिए कम हार्ड ड्राइव स्थान प्रदान करता है।
- यह सिस्टम की स्थिरता को कम करता है।
- यह बड़े अनुप्रयोगों को उन सिस्टमों में चलाने की अनुमति देता है जो उन्हें चलाने के लिए अकेले पर्याप्त शारीरिक रैम की पेशकश नहीं करते हैं।
- यह RAM के समान प्रदर्शन प्रदान नहीं करता है।
- यह सिस्टम के समग्र प्रदर्शन को नकारात्मक रूप से प्रभावित करता है।
- भंडारण स्थान पर कब्जा करें, जिसका उपयोग लंबी अवधि के डेटा भंडारण के लिए किया जा सकता है।
सारांश:
- वर्चुअल मेमोरी एक भंडारण तंत्र है जो उपयोगकर्ता को एक बहुत बड़ी मुख्य मेमोरी होने का भ्रम प्रदान करता है।
- जब भी आपके कंप्यूटर में भौतिक मेमोरी में स्थान न हो, वर्चुअल मेमोरी की आवश्यकता होती है
- एक मांग पेजिंग तंत्र स्वैपिंग के साथ एक पेजिंग प्रणाली के समान है, जहां माध्यमिक मेमोरी और पृष्ठों में संग्रहीत प्रक्रियाओं को केवल मांग पर लोड किया जाता है, अग्रिम में नहीं।
- महत्वपूर्ण पृष्ठ प्रतिस्थापन के तरीके 1) फीफो 2) इष्टतम एल्गोरिथम 3) LRU पृष्ठ प्रतिस्थापन हैं।
- FIFO (फ़र्स्ट-इन-फ़र्स्ट-आउट) विधि में, स्मृति एक प्रतिस्थापन के लिए पृष्ठ का चयन करती है जो स्मृति के आभासी पते में सबसे लंबे समय तक रहा है।
- इष्टतम पृष्ठ प्रतिस्थापन विधि प्रतिस्थापन के लिए उस पृष्ठ का चयन करती है जिसके लिए अगले संदर्भ का समय सबसे लंबा है।
- LRU विधि OS को थोड़े समय के लिए पृष्ठ का उपयोग करने में मदद करती है।
- वर्चुअल मेमोरी गति प्राप्त करने में मदद करती है जब कार्यक्रम के निष्पादन के लिए केवल एक विशेष खंड की आवश्यकता होती है।
- यदि सिस्टम वर्चुअल मेमोरी का उपयोग कर रहा है तो अनुप्रयोग धीमा चल सकता है।