कैश मेमोरी बनाम वर्चुअल मेमोरी
कैश मेमोरी और वर्चुअल मेमोरी के बीच का अंतर उस उद्देश्य में मौजूद होता है जिसके लिए इन दोनों का उपयोग किया जाता है और भौतिक अस्तित्व में होता है। कैश मेमोरी एक प्रकार की मेमोरी है जिसका उपयोग मुख्य मेमोरी के एक्सेस टाइम को बेहतर बनाने के लिए किया जाता है। यह CPU और मुख्य मेमोरी के बीच रहता है, और कैश के कई स्तर हो सकते हैं जैसे L1, L2 और L3। कैश मेमोरी के लिए उपयोग किया जाने वाला हार्डवेयर मुख्य मेमोरी के लिए उपयोग की जाने वाली रैम (रैंडम एक्सेस मेमोरी) की तुलना में बहुत महंगा है क्योंकि कैश मेमोरी बहुत तेज है। इस कारण से, कैशे मेमोरी की क्षमता बहुत कम होती है। वर्चुअल मेमोरी एक मेमोरी मैनेजमेंट तकनीक है जिसका उपयोग रैम (मुख्य मेमोरी) का कुशलतापूर्वक उपयोग करने के लिए किया जाता है, जबकि प्रत्येक प्रोग्राम के लिए एक अलग मेमोरी स्पेस प्रदान करता है जो वास्तविक भौतिक रैम (मुख्य मेमोरी) क्षमता से भी बड़ा होता है।यहां हार्ड डिस्क का उपयोग मेमोरी को बढ़ाने के लिए किया जाता है। भौतिक RAM में आइटम हार्ड डिस्क के साथ आगे और पीछे स्थानांतरित किए जाते हैं।
कैश मेमोरी क्या है?
कैश मेमोरी एक प्रकार की मेमोरी है जो सीपीयू (सेंट्रल प्रोसेसिंग यूनिट) और रैम (रैंडम एक्सेस मेमोरी) के बीच स्थित होती है। कैशे मेमोरी का उद्देश्य रैम से सीपीयू के मेमोरी एक्सेस टाइम को कम करना है। RAM की तुलना में कैशे मेमोरी बहुत तेज होती है। तो कैश पर एक्सेस टाइम रैम पर एक्सेस टाइम से काफी कम है। लेकिन कैश मेमोरी के लिए उपयोग की जाने वाली मेमोरी की लागत रैम के लिए उपयोग की जाने वाली मेमोरी की लागत से बहुत अधिक है, और इसलिए, कैश मेमोरी की क्षमता बहुत कम है। कैश मेमोरी के लिए उपयोग की जाने वाली मेमोरी के प्रकार को SRAM (स्टेटिक रैंडम एक्सेस मेमोरी) कहा जाता है।
जब भी सीपीयू मेमोरी को एक्सेस करना चाहता है, तो यह सबसे पहले यह जांचता है कि उसे जो चाहिए वह कैशे मेमोरी में है या नहीं। यदि हां, तो यह कम से कम विलंबता के साथ इसे एक्सेस करने में सक्षम होगा। यदि यह कैश में नहीं रहता है, तो अनुरोधित सामग्री को रैम से कैश में कॉपी किया जाएगा और उसके बाद ही सीपीयू इसे कैश से एक्सेस करेगा।यहां, कैश से सामग्री की प्रतिलिपि बनाते समय, न केवल अनुरोधित स्मृति पते की सामग्री बल्कि आस-पास की सामग्री को भी कैश में कॉपी किया जाता है। इसलिए, अगली बार कैश हिट होने की उच्च संभावना है क्योंकि अधिकांश कंप्यूटर प्रोग्राम अधिकांश समय आस-पास के डेटा या अंतिम एक्सेस किए गए डेटा तक पहुंचते हैं। तो कैश के कारण, औसत मेमोरी लेटेंसी कम हो जाती है।
सीपीयू में तीन प्रकार के कैश होते हैं: प्रोग्राम निर्देशों को स्टोर करने के लिए निर्देश कैश, डेटा आइटम को स्टोर करने के लिए डेटा कैश, और मेमोरी मैपिंग को स्टोर करने के लिए ट्रांसलेशन लुक-असाइड बफर। डेटा कैश के लिए, आम तौर पर, बहु-स्तरीय कैश होते हैं।यानी L1, L2 और L3 जैसे कई कैश हैं। L1 कैश सबसे तेज लेकिन सबसे छोटी कैशे मेमोरी है जो CPU के सबसे करीब होती है। L2 कैश L1 से धीमा है, लेकिन L1 से बड़ा है और L1 कैश के बाद रहता है। इस पदानुक्रम के कारण कम लागत पर बेहतर औसत मेमोरी एक्सेस समय प्राप्त किया जा सकता है।
वर्चुअल मेमोरी क्या है?
वर्चुअल मेमोरी कंप्यूटर सिस्टम में उपयोग की जाने वाली मेमोरी मैनेजमेंट तकनीक है। वर्चुअल मेमोरी नामक कोई हार्डवेयर नहीं है, लेकिन यह एक अवधारणा है जो प्रोग्राम के लिए वर्चुअल एड्रेस स्पेस प्रदान करने के लिए रैम और हार्ड डिस्क का उपयोग करती है। पहले RAM को पेज कहे जाने वाले भागों में विभाजित किया जाता है और उन्हें भौतिक मेमोरी एड्रेस द्वारा पहचाना जाता है। हार्ड डिस्क में, एक विशेष भाग आरक्षित होता है, जहां, लिनक्स में, इसे स्वैप कहा जाता है और, विंडोज़ में, इसे पेज फ़ाइल कहा जाता है। जब कोई प्रोग्राम शुरू किया जाता है, तो उसे वर्चुअल एड्रेस स्पेस दिया जाता है जो वास्तविक भौतिक मेमोरी से भी बड़ा हो सकता है। वर्चुअल मेमोरी स्पेस को पेज कहे जाने वाले हिस्सों में भी विभाजित किया जाता है और इस वर्चुअल मेमोरी पेज में से प्रत्येक को एक भौतिक पेज पर मैप किया जा सकता है।पेज टेबल नामक टेबल इस मैपिंग का ट्रैक रखती है। जब भौतिक स्मृति स्थान से बाहर हो जाती है, तो क्या किया जाता है, कुछ भौतिक पृष्ठों को हार्ड डिस्क में उस विशेष भाग में धकेल दिया जाता है। जब किसी पृष्ठ को हार्ड डिस्क पर धकेलने की फिर से आवश्यकता होती है, तो उसे भौतिक स्मृति में भौतिक स्मृति से हार्ड डिस्क में एक अन्य चयनित पृष्ठ डालकर भौतिक स्मृति में लाया जाता है।
कैश मेमोरी और वर्चुअल मेमोरी में क्या अंतर है?
• कैश मेमोरी एक प्रकार की मेमोरी है जिसका उपयोग मुख्य मेमोरी एक्सेस समय में सुधार के लिए किया जाता है। यह एक तेज प्रकार की मेमोरी है जो औसत मेमोरी एक्सेस लेटेंसी को कम करने के लिए सीपीयू और रैम के बीच रहती है।वर्चुअल मेमोरी एक मेमोरी प्रबंधन विधि है जहां यह एक अवधारणा है जो प्रोग्राम को अपनी वर्चुअल मेमोरी स्पेस प्राप्त करने देती है, जो वास्तविक भौतिक रैम से भी बड़ी है।
• कैश मेमोरी एक प्रकार की हार्डवेयर मेमोरी है जो वास्तव में भौतिक रूप से मौजूद होती है। दूसरी ओर, वर्चुअल मेमोरी नामक कोई हार्डवेयर नहीं है क्योंकि यह एक अवधारणा है जो वर्चुअल प्रकार की मेमोरी प्रदान करने के लिए रैम, हार्ड डिस्क, मेमोरी मैनेजमेंट यूनिट और सॉफ्टवेयर का उपयोग करती है।
• कैश मेमोरी प्रबंधन पूरी तरह से हार्डवेयर द्वारा किया जाता है। वर्चुअल मेमोरी को ऑपरेटिंग सिस्टम (सॉफ्टवेयर) द्वारा प्रबंधित किया जाता है।
• कैश मेमोरी रैम और प्रोसेसर के बीच होती है। डेटा ट्रांसफर में रैम, कैशे मेमोरी और प्रोसेसर शामिल हैं। दूसरी ओर, वर्चुअल मेमोरी में रैम और हार्ड डिस्क के बीच डेटा का स्थानांतरण शामिल होता है।
• कैश मेमोरी छोटे आकार लेती है जैसे कि किलोबाइट और मेगाबाइट। दूसरी ओर, वर्चुअल मेमोरी में विशाल आकार शामिल होते हैं जो गीगाबाइट लेते हैं।
• वर्चुअल मेमोरी में पेज टेबल जैसी डेटा संरचनाएं शामिल होती हैं जो भौतिक मेमोरी और वर्चुअल मेमोरी के बीच मैपिंग को स्टोर करती हैं। लेकिन कैशे मेमोरी के लिए इस प्रकार की डेटा संरचना आवश्यक नहीं है।
सारांश:
कैश मेमोरी बनाम वर्चुअल मेमोरी
कैश मेमोरी का उपयोग मुख्य मेमोरी एक्सेस समय में सुधार के लिए किया जाता है जबकि वर्चुअल मेमोरी एक मेमोरी प्रबंधन विधि है। कैश मेमोरी एक वास्तविक हार्डवेयर है, लेकिन वर्चुअल मेमोरी नामक कोई हार्डवेयर नहीं है। रैम, हार्ड डिस्क, और विभिन्न अन्य हार्डवेयर ऑपरेटिंग सिस्टम के साथ मिलकर प्रत्येक प्रोग्राम को बड़े और पृथक वर्चुअल मेमोरी स्पेस प्रदान करने के लिए वर्चुअल मेमोरी नामक अवधारणा उत्पन्न करते हैं। कैश मेमोरी में सामग्री को हार्डवेयर द्वारा प्रबंधित किया जाता है जबकि वर्चुअल मेमोरी में सामग्री को ऑपरेटिंग सिस्टम द्वारा प्रबंधित किया जाता है।