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

