वर्चुअल मेमोरी (VM) एक ऑपरेटिंग सिस्टम (OS) के कर्नेल के लिए विकसित एक विशेषता है जो अतिरिक्त मुख्य मेमोरी जैसे RAM (रैंडम एक्सेस मेमोरी) या डिस्क स्टोरेज का अनुकरण करती है। इस तकनीक में बड़े कार्यक्रमों या कई कार्यक्रमों को एक साथ लोड करने और निष्पादित करने की अनुमति देकर स्मृति में हेरफेर और प्रबंधन शामिल है। यह प्रत्येक प्रोग्राम को संचालित करने की अनुमति भी देता है जैसे कि उसमें अनंत मेमोरी हो, और इसे अक्सर अतिरिक्त रैम खरीदने की तुलना में अधिक लागत प्रभावी माना जाता है।
वर्चुअल मेमोरी सॉफ़्टवेयर को हार्ड डिस्क ड्राइव (HDD) को अस्थायी स्टोरेज के रूप में उपयोग करके अतिरिक्त मेमोरी का उपयोग करने की अनुमति देती है। अधिकांश सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) मेमोरी मैनेजमेंट यूनिट (एमएमयू) प्रदान करते हैं जो वर्चुअल मेमोरी का समर्थन करते हैं। एमएमयू "पेज टेबल" का समर्थन करता है जिसका उपयोग स्मृति में और एचडीडी पर स्थित "वास्तविक" और "आभासी" पतों को बदलने के लिए किया जाता है।
एक OS जो वर्चुअल मेमोरी का उपयोग करता है, HDD से डेटा ट्रांसफर करके जगह खाली करता है जिसकी तुरंत आवश्यकता नहीं होती है। जब डेटा की आवश्यकता होती है, तो इसे वापस HDD में कॉपी कर लिया जाता है। जब सभी RAM का उपयोग किया जा रहा हो, तो VM डेटा को HDD में स्वैप कर देता है और फिर वापस आ जाता है। इस प्रकार, वीएम एक बड़ी कुल सिस्टम मेमोरी की अनुमति देता है; हालाँकि, जटिल कोड लेखन की आवश्यकता होती है।
1940 और 1950 के दशक में, वीएम से पहले, बड़े कार्यक्रमों ने प्राथमिक और द्वितीयक भंडारण के प्रबंधन के लिए तर्क को लागू किया। प्रक्रिया को ओवरलेइंग कहा जाता था। जब कोई प्रोग्राम मेमोरी स्टोरेज से बड़ा था, तो प्रक्रिया ने प्रोग्राम के उन हिस्सों को अनुमति दी जो लगातार उपयोग नहीं किए गए थे, जिन्हें ओवरले के रूप में माना जाता था। प्रत्येक व्यक्तिगत ओवरले मेमोरी में वर्तमान ओवरले को अधिलेखित कर देगा। ओवरलेइंग के लिए प्रोग्रामिंग व्यापक थी। वीएम बनाने का एक मुख्य कारण अतिरिक्त प्राथमिक मेमोरी के लिए नहीं बल्कि प्रोग्रामिंग में आसानी के लिए था। 1969 तक वर्चुअल मेमोरी की प्रभावशीलता का एहसास हुआ; और इसे व्यापक रूप से लागू किया गया।
वीएम वस्तुतः मौजूद से अधिक रैम, या डिस्क स्टोरेज मेमोरी का उपयोग करने का प्रयास करता है। यह प्रक्रिया CPU को एक साथ बड़े और कई प्रोग्राम को हैंडल करने की अनुमति देती है। VM एक साधारण ऑपरेटिंग सिस्टम (OS) और हार्डवेयर प्रोग्राम है जो मेमोरी को अस्थायी रूप से स्टोर और नियंत्रित करके एक HDD का उपयोग करता है। मेमोरी में हेरफेर करने और प्रबंधित करने की प्रक्रिया प्रत्येक एप्लिकेशन को कार्य करने की अनुमति देती है जैसे कि उसके पास लगभग अनंत मेमोरी हो। अस्थायी मेमोरी स्टोरेज को मेमोरी मैनेजमेंट यूनिट (MMU) द्वारा प्रबंधित किया जाता है, जिसे "पेजेड मेमोरी मैनेजमेंट यूनिट" (PMMU) के रूप में भी जाना जाता है।
"वास्तविक" स्मृति को "पृष्ठ" नामक छोटे वर्गों में बांटा गया है। पृष्ठ आम तौर पर आकार में 4 किलोबाइट होते हैं। जब सभी रैम या डिस्क मेमोरी का उपयोग किया जाता है, तो उपयोग नहीं किया गया कोई भी पृष्ठ वर्चुअल मेमोरी में लिखा जाता है जिसे स्वैप फ़ाइल कहा जाता है। जब स्वैप फ़ाइल की आवश्यकता होती है, तो इसे वापस "वास्तविक" मेमोरी में अनुवादित किया जाता है, एक प्रक्रिया जिसे पेज स्वैपिंग कहा जाता है।
वीएम का उपयोग करने की कुछ कमियों में से एक यह है कि अत्यधिक पृष्ठ अदला-बदली हो सकती है, खासकर यदि उपयोगकर्ता के पास कई खुले अनुप्रयोग हैं। इससे प्रोग्राम काफी धीमा हो सकता है क्योंकि सीपीयू एचडीडी को लिखने में काफी समय व्यतीत करता है। प्रदर्शन में महत्वपूर्ण कमी को थ्रैशिंग कहा जाता है।
0 Comments