कोमल अनुस्मारक: समुदाय के बाकी लोगों के लिए एक बेहतर जवाब प्रदान करने के लिए, कृपया "कुछ चार प्रकार की स्मृति के बारे में बात न करें" जैसे कुछ न कहें। यहां तक कि अगर आप इसे अच्छी तरह से जानते हैं, तो इंटरनेट के एक हजार और एक नागरिक एक संपार्श्विक उत्तर की उम्मीद में यहां पहुंच सकते हैं। :)
"पेजिंग" निम्नलिखित क्रिया के लिए सटीक शब्द है। "स्वैपिंग" का उपयोग बोलचाल के लिए "पेजिंग" के लिए किया जाता है, हालांकि इन दिनों काफी अंतरंगता है। "स्वैपिंग" मूल रूप से एक प्रोग्राम की मेमोरी स्पेस को पूरी तरह से "सेकेंडरी स्टोरेज" पर ले जाने के लिए संदर्भित करता है (जैसा कि "मुख्य स्टोरेज" के विपरीत है, जो एक तरह से ... RAM के लिए पुरातन शब्द है)। पेजिंग और स्वैपिंग के बीच की सीमा को विंडोज और यूनिक्स सिस्टम द्वारा पेजिंग स्पेस स्वैप कहकर काफी धुंधला कर दिया जाता है।
और फिर, सक्रिय, वायर्ड और निष्क्रिय स्मृति की अवधारणा को समझने के लिए पेजिंग के बारे में जानना चाहिए। पेजिंग का मतलब है कि मेमोरी पेज को रैंडम एक्सेस मेमोरी (यानी, रैम) और हार्ड डिस्क या अन्य सेकेंडरी स्टोरेज डिवाइस पर ले जाया जाता है। यह चल रहे एप्लिकेशन को उपलब्ध सिस्टम रैम की कुल मात्रा से अधिक मेमोरी का अनुरोध करने की अनुमति देता है।
ध्यान दें कि हालांकि पेजिंग करने का अर्थ है कि सूचना के उस विशेष बिट को फिर से एक्सेस करने के लिए एक बड़ा प्रदर्शन जुर्माना, पेजिंग दो अलग-अलग मामलों में हो सकता है: (खुद को उद्धृत करना: स्वैप विभाजन नहीं होने के नुकसान )
- जब सभी अनुप्रयोगों के लिए ENOUGH मेमोरी नहीं है - उस स्थिति में जहां यह स्वैप स्पेस के बिना सिस्टम में होता है, तो यह नए मेमोरी पेजों के लिए नए अनुप्रयोगों के लिए मेमोरी आवंटित करने में विफलता का कारण होगा - और इसका परिणाम आमतौर पर कार्यक्रम की समाप्ति है।
- जब कुछ मेमोरी पेज (मेमोरी को "पेज" में विभाजित किया जाता है) का उपयोग कुछ समय पहले किया जाता है, लेकिन अब इसका उपयोग नहीं किया जाता है, तो इसे स्वैप फ़ाइल में स्थानांतरित कर दिया जाएगा और शेष मेमोरी का उपयोग कुछ और करने के लिए किया जा सकता है जो अधिक उपयोगी हो सकता है (उदाहरण के लिए, यहां तक कि कैशिंग!) - जब यह स्वैप स्पेस के बिना सिस्टम में होता है, तो इसके परिणामस्वरूप बेकार पेज मेमोरी में बने रहेंगे। हालांकि यह बहुत गंभीर नहीं है, क्योंकि हमारे पास इन दिनों बहुत अधिक मात्रा में मेमोरी है।
मेमोरी को चार प्रकारों में वर्गीकृत किया गया है:
वायर्ड: एक एप्लिकेशन द्वारा उपयोग किया जाता है जो दावा करता है कि आवंटित मेमोरी का हिस्सा शारीरिक रूप से RAM में रहना चाहिए, और डिस्क पर स्वैप नहीं किया जाना चाहिए, चाहे वह हाल ही में उपयोग किया गया हो या नहीं, अर्थात, दूसरा एप्लिकेशन मेमोरी के उस विशेष chunk का अनुरोध नहीं कर सकता है। उदाहरण सिस्टम द्वारा उपयोग की जाने वाली मेमोरी का हिस्सा हैं, और जिसका उपयोग वर्चुअल मशीनों द्वारा किया जाता है।
सक्रिय और निष्क्रिय: ये आमतौर पर उपयोगकर्ता-मोड अनुप्रयोगों द्वारा उपयोग की जाने वाली मेमोरी होती है, जिसमें वे डिस्क पर स्वैप करने योग्य होते हैं। "सक्रिय" का मतलब है कि यह हाल ही में उपयोग किया गया था, और "निष्क्रिय" का मतलब है कि इसका उपयोग हाल ही में नहीं किया गया था। ऑपरेटिंग सिस्टम इस प्रकार पहले निष्क्रिय पृष्ठों को स्वैप करेगा, और फिर यदि आवश्यक हो तो बाद में सक्रिय पृष्ठों को।
मुफ्त मेमोरी: वह मेमोरी जिसका उपयोग नहीं किया गया है। इसका उपयोग अन्य उद्देश्यों जैसे हार्ड डिस्क के कैशिंग के लिए किया जाता है।
यदि आपका सवाल है, "ऐसी गंभीर स्थिति में जहां स्मृति अपर्याप्त है, तो किस क्रम में सिस्टम एक नए एप्लिकेशन को मेमोरी आवंटित करने की कोशिश करेगा?", तो अनुक्रम आवंटित करना होगा?
मुक्त स्मृति → निष्क्रिय स्मृति → सक्रिय स्मृति
एक अर्थ में, यहां तक कि हाल ही में उपयोग की जाने वाली मेमोरी को भी पृष्ठांकित किया जा सकता है। "वायर्ड" हिस्सा वह है जिसे हर कीमत पर भुनाया नहीं जाएगा।
आधुनिक प्रणालियों में, हालांकि, यह संभव नहीं है कि सक्रिय मेमोरी बाहर हो जाए क्योंकि हमारे पास बहुत सारी रैम उपलब्ध है।