ऑपरेटिंग सिस्टम में वर्चुअल मेमोरी: क्या है, डिमांड पेजिंग, फायदे
⚡ स्मार्ट सारांश
वर्चुअल मेमोरी एक ऐसी स्टोरेज प्रणाली है जो सेकेंडरी स्टोरेज के एक हिस्से को रैम के रूप में उपयोग करके उपयोगकर्ता को बड़ी मुख्य मेमोरी का भ्रम देती है। यह फिजिकल मेमोरी से बड़ी प्रक्रियाओं को चलाने की अनुमति देती है और इसे डिमांड पेजिंग के साथ लागू किया जाता है।

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

