मेमोरी पेजिंग

From alpha
Jump to navigation Jump to search

कंप्यूटर ऑपरेटिंग सिस्टम में, मेमोरी पेजिंग एक मेमोरी मैनेजमेंट स्कीम है जिसके द्वारा एक कंप्यूटर स्टोर करता है और कंप्यूटर डेटा स्टोरेज # सेकेंडरी स्टोरेज से डेटा को पुनः प्राप्त करता है[lower-alpha 1] कंप्यूटर डेटा स्टोरेज # प्राथमिक स्टोरेज में उपयोग के लिए।[citation needed] इस योजना में, ऑपरेटिंग सिस्टम समान आकार के ब्लॉक (डेटा स्टोरेज) में सेकेंडरी स्टोरेज से डेटा को पुनः प्राप्त करता है जिसे पेज (कंप्यूटर मेमोरी) कहा जाता है। पेजिंग आधुनिक ऑपरेटिंग सिस्टम में वर्चुअल मेमोरी कार्यान्वयन का एक महत्वपूर्ण हिस्सा है, प्रोग्राम को उपलब्ध भौतिक मेमोरी के आकार से अधिक होने देने के लिए सेकेंडरी स्टोरेज का उपयोग करता है।

सरलता के लिए, मुख्य मेमोरी को RAM (रैंडम-एक्सेस मेमोरी का संक्षिप्त रूप) कहा जाता है और सेकेंडरी स्टोरेज को डिस्क (हार्ड डिस्क ड्राइव, ड्रम मेमोरी या सॉलिड-स्टेट ड्राइव, आदि के लिए शॉर्टहैंड) कहा जाता है, लेकिन कंप्यूटिंग के कई पहलुओं के साथ , अवधारणाएँ प्रयुक्त तकनीक से स्वतंत्र हैं।

मेमोरी मॉडल (एड्रेसिंग स्कीम) के आधार पर, मेमोरी मैनेजमेंट यूनिट (MMU) या मेमोरी प्रोटेक्शन यूनिट (MPU) का उपयोग करके पेजेड मेमोरी कार्यक्षमता को आमतौर पर CPU/MCU में हार्डवायर किया जाता है और ऑपरेटिंग सिस्टम के कर्नेल में विशेषाधिकार प्राप्त सिस्टम कोड द्वारा अलग से सक्षम किया जाता है। ऑपरेटिंग सिस्टम)। उदाहरण के लिए x86 इंस्ट्रक्शन सेट आर्किटेक्चर (ISA) को लागू करने वाले CPU में, मेमोरी पेजिंग को CR0 कंट्रोल रजिस्टर के माध्यम से सक्षम किया जाता है।

इतिहास

1960 के दशक में, स्वैपिंग एक शुरुआती वर्चुअल मेमोरी तकनीक थी। एक संपूर्ण प्रोग्राम या संपूर्ण मेमोरी सेगमेंट को रैम से डिस्क या ड्रम में स्वैप आउट (या रोल आउट) किया जाएगा, और दूसरे को स्वैप (या रोल इन) किया जाएगा।[1][2] एक स्वैप-आउट प्रोग्राम चालू होगा लेकिन इसका निष्पादन निलंबित रहेगा जबकि इसकी रैम किसी अन्य प्रोग्राम द्वारा उपयोग में थी; स्वैप-आउट सेगमेंट वाला एक प्रोग्राम तब तक चलता रह सकता है जब तक कि उसे उस सेगमेंट की आवश्यकता न हो, जिस बिंदु पर सेगमेंट को स्वैप किए जाने तक इसे निलंबित कर दिया जाएगा।

एक प्रोग्राम में कई ओवरले (प्रोग्रामिंग) शामिल हो सकते हैं जो अलग-अलग समय पर एक ही मेमोरी पर कब्जा कर लेते हैं। ओवरले रैम को डिस्क पर पेज करने की एक विधि नहीं है, बल्कि केवल प्रोग्राम के रैम उपयोग को कम करने के लिए है। इसके बाद के आर्किटेक्चर ने मेमोरी सेगमेंटेशन का इस्तेमाल किया, और व्यक्तिगत प्रोग्राम सेगमेंट डिस्क और रैम के बीच आदान-प्रदान की गई इकाइयाँ बन गईं। एक खंड कार्यक्रम का संपूर्ण कोड खंड या डेटा खंड, या कभी-कभी अन्य बड़ी डेटा संरचनाएं थीं। रैम में निवास करते समय इन खंडों को सन्निहित डेटा संग्रहण होना चाहिए, जिसके लिए विखंडन (कंप्यूटर) को दूर करने के लिए अतिरिक्त संगणना और गति की आवश्यकता होती है।[3] फेरेंटी का एटलस (कंप्यूटर), और एटलस पर्यवेक्षक मैनचेस्टर विश्वविद्यालय में विकसित हुआ,[4] (1962), मेमोरी पेजिंग को लागू करने वाली पहली प्रणाली थी। बाद की शुरुआती मशीनें, और उनके ऑपरेटिंग सिस्टम, सहायक पेजिंग में IBM M44/44X और इसका MOS ऑपरेटिंग सिस्टम (1964) शामिल हैं,[5], एसडीएस 940[6] और बर्कले टाइमशेयरिंग सिस्टम (1966), एक संशोधित IBM सिस्टम/360 मॉडल 40 और IBM CP-40|CP-40 ऑपरेटिंग सिस्टम (1967), IBM सिस्टम/360 मॉडल 67 और ऑपरेटिंग सिस्टम जैसे TSS/360 और CP /CMS (1967), RCA स्पेक्ट्रा 70#मॉडल 70/46|RCA 70/46 और टाइम शेयरिंग ऑपरेटिंग सिस्टम (1967), GE 645 और मल्टिक्स (1969), और PDP-10 अतिरिक्त रेथियॉन BBN-डिज़ाइन के साथ पेजिंग हार्डवेयर और टेनेक्स (ऑपरेटिंग सिस्टम) ऑपरेटिंग सिस्टम (1969)।

मेमोरी पेजिंग का समर्थन करने वाली वे मशीनें, और बाद की मशीनें, या तो पेज एड्रेस रजिस्टरों के एक सेट का उपयोग करती हैं या एक इन-मेमोरी पेज टेबल का उपयोग करती हैं, जो प्रोसेसर को रैम में कहीं भी मनमाने ढंग से पेजों पर संचालित करने की अनुमति देती हैं, जैसे कि सन्निहित तार्किक पता स्थान। ये पृष्ठ डिस्क और रैम के बीच आदान-प्रदान की जाने वाली इकाइयाँ बन गए।

पृष्ठ दोष

जब कोई प्रक्रिया किसी ऐसे पृष्ठ को संदर्भित करने का प्रयास करती है जो वर्तमान में RAM में मौजूद नहीं है, तो प्रोसेसर इस अमान्य स्मृति संदर्भ को पृष्ठ दोष के रूप में मानता है और प्रोग्राम से ऑपरेटिंग सिस्टम पर नियंत्रण स्थानांतरित करता है। ऑपरेटिंग सिस्टम को चाहिए:

  1. डिस्क पर डेटा का स्थान निर्धारित करें।
  2. डेटा के लिए एक कंटेनर के रूप में उपयोग करने के लिए रैम में एक खाली पेज फ्रेम प्राप्त करें।
  3. अनुरोधित डेटा को उपलब्ध पेज फ्रेम में लोड करें।
  4. नए पेज फ्रेम को संदर्भित करने के लिए पेज टेबल को अपडेट करें।
  5. कार्यक्रम पर नियंत्रण वापस करें, पारदर्शी रूप से उस निर्देश (कंप्यूटर विज्ञान) का पुन: प्रयास करें जो पृष्ठ दोष का कारण बना।

जब सभी पृष्ठ फ़्रेम उपयोग में होते हैं, तो ऑपरेटिंग सिस्टम को उस पृष्ठ के पुन: उपयोग के लिए एक पृष्ठ फ़्रेम का चयन करना चाहिए जिसकी अब प्रोग्राम को आवश्यकता है। यदि बेदखल पृष्ठ फ़्रेम डेटा रखने के लिए किसी प्रोग्राम द्वारा गतिशील आवंटन था, या यदि किसी प्रोग्राम ने इसे रैम में पढ़ने के बाद से संशोधित किया है (दूसरे शब्दों में, यदि यह गंदा हो गया है), तो इसे मुक्त होने से पहले डिस्क पर लिखा जाना चाहिए। यदि कोई प्रोग्राम बाद में बेदखल पृष्ठ का संदर्भ देता है, तो एक और पृष्ठ दोष होता है और पृष्ठ को रैम में वापस पढ़ा जाना चाहिए।

पुन: उपयोग करने के लिए पृष्ठ फ़्रेम का चयन करने के लिए ऑपरेटिंग सिस्टम जिस विधि का उपयोग करता है, जो उसका पृष्ठ प्रतिस्थापन एल्गोरिथम है, दक्षता के लिए महत्वपूर्ण है। ऑपरेटिंग सिस्टम पृष्ठ फ़्रेम की कम से कम जल्द ही आवश्यकता होने की संभावना की भविष्यवाणी करता है, अक्सर पृष्ठ प्रतिस्थापन एल्गोरिथ्म # कम से कम हाल ही में उपयोग किए गए (LRU) एल्गोरिथ्म या प्रोग्राम के कार्य सेट के आधार पर एक एल्गोरिथ्म के माध्यम से। उत्तरदायित्व को और बढ़ाने के लिए, पेजिंग सिस्टम भविष्यवाणी कर सकता है कि कौन से पेजों की जल्द ही आवश्यकता होगी, प्रोग्राम के संदर्भ से पहले उन्हें रैम में प्रीमेप्टिव रूप से लोड करना।

पृष्ठ प्रतिस्थापन तकनीकें

डिमांड पेजिंग
जब शुद्ध मांग पेजिंग का उपयोग किया जाता है, तो पृष्ठ तभी लोड होते हैं जब उनका संदर्भ दिया जाता है। मेमोरी मैप की गई फ़ाइल से एक प्रोग्राम रैम में इसके किसी भी पेज के साथ निष्पादन शुरू नहीं करता है। चूंकि प्रोग्राम पृष्ठ दोष करता है, ऑपरेटिंग सिस्टम फ़ाइल से आवश्यक पृष्ठों की प्रतिलिपि बनाता है, उदाहरण के लिए, मेमोरी-मैप्ड फ़ाइल, पेजिंग फ़ाइल, या पृष्ठ डेटा वाले स्वैप विभाजन को RAM में।

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

थ्रैशिंग

इनिशियलाइज़ेशन पूरा करने के बाद, प्रोग्राम के लिए आवश्यक कुल मेमोरी की तुलना में अधिकांश प्रोग्राम कम संख्या में कोड और डेटा पेजों पर काम करते हैं। सबसे अधिक बार एक्सेस किए जाने वाले पेजों को वर्किंग सेट कहा जाता है।

जब वर्किंग सेट सिस्टम के पेजों की कुल संख्या का एक छोटा प्रतिशत होता है, तो वर्चुअल मेमोरी सिस्टम सबसे अधिक कुशलता से काम करते हैं और कंप्यूटिंग की एक नगण्य राशि पृष्ठ दोषों को हल करने में खर्च होती है। जैसे-जैसे वर्किंग सेट बढ़ता है, पृष्ठ दोषों को हल करना तब तक प्रबंधनीय रहता है जब तक कि विकास एक महत्वपूर्ण बिंदु तक नहीं पहुंच जाता। फिर दोष नाटकीय रूप से बढ़ जाते हैं और उन्हें हल करने में लगने वाला समय कंप्यूटिंग पर खर्च किए गए समय को पूरा करने के लिए लिखा गया था। इस स्थिति को थ्रैशिंग (कंप्यूटर विज्ञान) कहा जाता है। थ्रैशिंग एक ऐसे प्रोग्राम पर होता है जो विशाल डेटा संरचनाओं के साथ काम करता है, क्योंकि इसके बड़े कार्य सेट के कारण लगातार पृष्ठ दोष होते हैं जो सिस्टम को काफी धीमा कर देते हैं। संतुष्ट पृष्ठ दोषों के लिए मुक्त पृष्ठों की आवश्यकता हो सकती है जिन्हें जल्द ही डिस्क से फिर से पढ़ना होगा। थ्रैशिंग का उपयोग वर्चुअल मेमोरी सिस्टम के अलावा अन्य संदर्भों में भी किया जाता है; उदाहरण के लिए, नेटवर्किंग में कंप्यूटिंग या सिली विंडो सिंड्रोम में कैशे (कंप्यूटिंग) मुद्दों का वर्णन करने के लिए।

VAX प्रोसेसर पर सबसे खराब स्थिति हो सकती है। पृष्ठ सीमा को पार करने वाले एकल MOVL में विस्थापन आस्थगित एड्रेसिंग मोड का उपयोग करके एक स्रोत ऑपरेंड हो सकता है, जहां ऑपरेंड एड्रेस वाला लॉन्गवर्ड एक पृष्ठ सीमा को पार करता है, और एक डेस्टिनेशन ऑपरेंड एक विस्थापन आस्थगित एड्रेसिंग मोड का उपयोग करता है, जहां ऑपरेंड एड्रेस क्रॉस करने वाला लॉन्गवर्ड होता है। एक पृष्ठ सीमा, और स्रोत और गंतव्य दोनों पृष्ठ सीमाओं को पार कर सकते हैं। यह एकल निर्देश दस पृष्ठों का संदर्भ देता है; यदि सभी रैम में नहीं हैं, तो प्रत्येक पेज फॉल्ट का कारण होगा। जैसा कि प्रत्येक गलती होती है, ऑपरेटिंग सिस्टम को व्यापक मेमोरी प्रबंधन रूटीन के माध्यम से जाने की आवश्यकता होती है, जिससे कई I/Os हो सकते हैं, जिसमें डिस्क पर अन्य प्रक्रिया पेज लिखना और डिस्क से सक्रिय प्रक्रिया के पेज पढ़ना शामिल हो सकता है। यदि ऑपरेटिंग सिस्टम इस प्रोग्राम को दस पृष्ठ आवंटित नहीं कर सकता है, तो पेज फॉल्ट को ठीक करने के लिए निर्देश की आवश्यकता वाले दूसरे पेज को छोड़ दिया जाएगा, और निर्देश के किसी भी पुनरारंभ में फिर से गलती होगी।

अत्यधिक पेजिंग को कम करने और थ्रैशिंग समस्याओं को हल करने के लिए, एक उपयोगकर्ता प्रति प्रोग्राम उपलब्ध पृष्ठों की संख्या बढ़ा सकता है, या तो कम प्रोग्राम एक साथ चलाकर या कंप्यूटर में रैम की मात्रा बढ़ाकर।

साझा करना

बहु-प्रोग्रामिंग या बहु-उपयोगकर्ता वातावरण में, कई उपयोगकर्ता एक ही प्रोग्राम को निष्पादित कर सकते हैं, इस तरह लिखा जाता है कि इसका कोड और डेटा अलग-अलग पृष्ठों में हो। RAM के उपयोग को कम करने के लिए, सभी उपयोगकर्ता प्रोग्राम की एक प्रति साझा करते हैं। प्रत्येक प्रक्रिया की पृष्ठ तालिका सेट अप की जाती है ताकि पता कोड वाले पृष्ठ एकल साझा प्रतिलिपि को इंगित करते हैं, जबकि डेटा को संबोधित करने वाले पृष्ठ प्रत्येक प्रक्रिया के लिए अलग-अलग भौतिक पृष्ठों को इंगित करते हैं।

अलग-अलग प्रोग्राम भी एक ही लाइब्रेरी का उपयोग कर सकते हैं। स्थान बचाने के लिए, साझा लाइब्रेरी की केवल एक प्रति को भौतिक मेमोरी में लोड किया जाता है। प्रोग्राम जो एक ही लाइब्रेरी का उपयोग करते हैं, उनके आभासी पते होते हैं जो समान पृष्ठों पर मैप होते हैं (जिसमें लाइब्रेरी का कोड और डेटा होता है)। जब प्रोग्राम लाइब्रेरी के कोड को संशोधित करना चाहते हैं, तो वे कॉपी-ऑन-राइट का उपयोग करते हैं, इसलिए मेमोरी केवल जरूरत पड़ने पर आवंटित की जाती है।

साझा स्मृति कार्यक्रमों के बीच संचार का एक कुशल तरीका है। प्रोग्राम पेजों को स्मृति में साझा कर सकते हैं, और फिर डेटा का आदान-प्रदान करने के लिए लिख और पढ़ सकते हैं।

कार्यान्वयन

फेरांती एटलस

पेजिंग का समर्थन करने वाला पहला कंप्यूटर सुपरकंप्यूटर एटलस कंप्यूटर (मैनचेस्टर) था,[7][8][9] 1963 में फेरेंटी, मैनचेस्टर विश्वविद्यालय और प्लेसी द्वारा संयुक्त रूप से विकसित। मशीन में प्रत्येक 512 शब्द पृष्ठ के लिए एक प्रविष्टि के साथ एक साहचर्य (सामग्री-पता योग्य स्मृति | सामग्री-पता योग्य) स्मृति थी। पर्यवेक्षक[10] गैर-समतुल्य रुकावटों को संभाला[lower-alpha 3] और एक-स्तरीय स्टोर प्रदान करने के लिए कोर और ड्रम के बीच पृष्ठों के हस्तांतरण को प्रबंधित किया[11] कार्यक्रमों को।

माइक्रोसॉफ्ट विंडोज

विंडोज 3.x और विंडोज 9x

पेजिंग 1990 में विंडोज 3.0 के बाद से माइक्रोसॉफ्ट विंडोज की एक विशेषता रही है। विंडोज 3.x नाम की एक छिपी हुई फाइल बनाता है। 386SPART.PAR या WIN386.SWP स्वैप फ़ाइल के रूप में उपयोग के लिए। यह आमतौर पर रूट डायरेक्टरी में पाया जाता है, लेकिन यह कहीं और (आमतौर पर विन्डोज़ डायरेक्टरी में) दिखाई दे सकता है। इसका आकार इस बात पर निर्भर करता है कि सिस्टम में कितना स्वैप स्पेस है (विंडोज कंट्रोल पैनल के तहत उपयोगकर्ता द्वारा चुनी गई सेटिंग → वर्चुअल मेमोरी के तहत बढ़ाया गया)। यदि उपयोगकर्ता इस फ़ाइल को ले जाता है या हटा देता है, तो अगली बार Windows प्रारंभ होने पर मौत की एक नीली स्क्रीन दिखाई देगी, जिसमें त्रुटि संदेश स्थायी स्वैप फ़ाइल दूषित है। उपयोगकर्ता को यह चुनने के लिए प्रेरित किया जाएगा कि फ़ाइल को हटाना है या नहीं (चाहे वह मौजूद है या नहीं)।

विंडोज 95, विंडोज 98 और विंडोज मी एक समान फ़ाइल का उपयोग करते हैं, और इसके लिए सेटिंग्स कंट्रोल पैनल → सिस्टम → प्रदर्शन टैब → वर्चुअल मेमोरी के अंतर्गत स्थित हैं। विंडोज स्वचालित रूप से पृष्ठ फ़ाइल का आकार 1.5 × भौतिक मेमोरी के आकार से शुरू करने के लिए सेट करता है, और यदि आवश्यक हो तो 3 × भौतिक मेमोरी तक विस्तारित करता है। यदि कोई उपयोगकर्ता कम भौतिक मेमोरी वाले सिस्टम पर मेमोरी-इंटेंसिव एप्लिकेशन चलाता है, तो इन आकारों को मैन्युअल रूप से डिफ़ॉल्ट से अधिक मान पर सेट करना बेहतर होता है।

विंडोज एनटी

विंडोज एनटी परिवार में पेजिंग के लिए उपयोग की जाने वाली फाइल है pagefile.sys. पृष्ठ फ़ाइल का डिफ़ॉल्ट स्थान उस विभाजन की मूल निर्देशिका में है जहाँ Windows स्थापित है। पृष्ठ फ़ाइलों के लिए किसी भी उपलब्ध ड्राइव पर खाली स्थान का उपयोग करने के लिए विंडोज़ को कॉन्फ़िगर किया जा सकता है। हालाँकि, बूट पार्टीशन (यानी, विंडोज डायरेक्टरी वाली ड्राइव) के लिए आवश्यक है कि उस पर एक पेज फाइल हो, अगर सिस्टम को ब्लू स्क्रीन ऑफ डेथ के बाद कर्नेल या पूर्ण मेमोरी डंप लिखने के लिए कॉन्फ़िगर किया गया हो। विंडोज मेमोरी डंप के लिए अस्थायी स्टोरेज के रूप में पेजिंग फाइल का उपयोग करता है। जब सिस्टम को रिबूट किया जाता है, तो विंडोज मेमोरी डंप को पेज फाइल से एक अलग फाइल में कॉपी करता है और पेज फाइल में इस्तेमाल होने वाले स्पेस को फ्री करता है।[12]


विखंडन

विंडोज के डिफ़ॉल्ट कॉन्फ़िगरेशन में, पृष्ठ फ़ाइल को आवश्यक होने पर इसके प्रारंभिक आवंटन से आगे बढ़ने की अनुमति है। यदि यह धीरे-धीरे होता है, तो यह भारी फाइल सिस्टम विखंडन बन सकता है जो संभावित रूप से प्रदर्शन समस्याओं का कारण बन सकता है।[13] इससे बचने के लिए दी जाने वाली सामान्य सलाह यह है कि सिंगल लॉक पेज फाइल साइज सेट करें ताकि विंडोज इसका विस्तार न करे। हालाँकि, पृष्ठ फ़ाइल केवल तभी विस्तारित होती है जब इसे भर दिया जाता है, जो कि इसके डिफ़ॉल्ट कॉन्फ़िगरेशन में, भौतिक मेमोरी की कुल मात्रा का 150% है।[citation needed] इस प्रकार पृष्ठ फ़ाइल-समर्थित वर्चुअल मेमोरी की कुल मांग पृष्ठ फ़ाइल के विस्तार से पहले कंप्यूटर की भौतिक मेमोरी के 250% से अधिक होनी चाहिए।

पृष्ठ फ़ाइल का विस्तार होने पर होने वाला विखंडन अस्थायी होता है। जैसे ही विस्तारित क्षेत्र अब उपयोग में नहीं हैं (अगले रीबूट पर, यदि पहले नहीं तो) अतिरिक्त डिस्क स्थान आवंटन मुक्त हो जाते हैं और पृष्ठ फ़ाइल वापस अपनी मूल स्थिति में आ जाती है।

पृष्ठ फ़ाइल आकार को लॉक करना समस्याग्रस्त हो सकता है यदि कोई Windows अनुप्रयोग भौतिक मेमोरी और पृष्ठ फ़ाइल के कुल आकार से अधिक मेमोरी का अनुरोध करता है, जिससे मेमोरी आवंटित करने के विफल अनुरोध हो सकते हैं जो अनुप्रयोगों और सिस्टम प्रक्रियाओं को विफल कर सकते हैं। इसके अलावा, पृष्ठ फ़ाइल शायद ही कभी अनुक्रमिक क्रम में पढ़ी या लिखी जाती है, इसलिए पूरी तरह अनुक्रमिक पृष्ठ फ़ाइल होने का प्रदर्शन लाभ न्यूनतम है। हालांकि, एक बड़ी पृष्ठ फ़ाइल आम तौर पर स्मृति-भारी अनुप्रयोगों के उपयोग की अनुमति देती है, जिसमें अधिक डिस्क स्थान का उपयोग करने के अलावा कोई जुर्माना नहीं होता है। जबकि एक खंडित पृष्ठ फ़ाइल अपने आप में कोई समस्या नहीं हो सकती है, एक चर आकार की पृष्ठ फ़ाइल का विखंडन समय के साथ ड्राइव पर कई खंडित ब्लॉक बना देगा, जिससे अन्य फाइलें खंडित हो जाएंगी। इस कारण से, एक निश्चित आकार की सन्निहित पृष्ठ फ़ाइल बेहतर है, बशर्ते कि आवंटित आकार सभी अनुप्रयोगों की आवश्यकताओं को समायोजित करने के लिए पर्याप्त बड़ा हो।

आवश्यक डिस्क स्थान को हाल ही के विनिर्देशों वाले सिस्टम पर आसानी से आवंटित किया जा सकता है (यानी 3 जीबी मेमोरी वाला सिस्टम जिसमें 750 जीबी डिस्क ड्राइव पर 6 जीबी निश्चित आकार की पेज फाइल है, या 6 जीबी मेमोरी और 16 जीबी मेमोरी वाला सिस्टम है) GB नियत-आकार की पृष्ठ फ़ाइल और 2  TB डिस्क स्थान)। दोनों उदाहरणों में, सिस्टम डिस्क स्थान के लगभग 0.8% का उपयोग करता है जिसमें पृष्ठ फ़ाइल को इसकी अधिकतम सीमा तक पूर्व-विस्तारित किया जाता है।

पृष्ठ फ़ाइल को डीफ़्रैग्मेन्ट करने की भी कभी-कभी प्रदर्शन में सुधार करने की सिफारिश की जाती है जब एक विंडोज़ सिस्टम अपनी कुल भौतिक मेमोरी की तुलना में बहुत अधिक मेमोरी का उपयोग कर रहा होता है।[citation needed] यह दृश्य इस तथ्य की उपेक्षा करता है कि विस्तार के अस्थायी परिणामों के अलावा, पृष्ठ फ़ाइल समय के साथ खंडित नहीं होती है। सामान्य तौर पर, अधिक भौतिक मेमोरी जोड़कर पेज फ़ाइल एक्सेस से संबंधित प्रदर्शन संबंधी चिंताओं को अधिक प्रभावी ढंग से निपटाया जाता है।

यूनिक्स और यूनिक्स जैसी प्रणालियाँ

यूनिक्स सिस्टम, और अन्य यूनिक्स-जैसे ऑपरेटिंग सिस्टम, RAM के लिए डिस्क स्थान को प्रतिस्थापित करने के कार्य का वर्णन करने के लिए स्वैप शब्द का उपयोग करते हैं, जब भौतिक RAM भरा होता है।[14] उनमें से कुछ प्रणालियों में, स्वैपिंग के लिए हार्ड डिस्क के पूरे विभाजन को समर्पित करना आम बात है। इन विभाजनों को स्वैप विभाजन कहा जाता है। कई प्रणालियों में स्वैपिंग के लिए समर्पित एक पूरी हार्ड ड्राइव होती है, जो डेटा ड्राइव (ड्राइवों) से अलग होती है, जिसमें केवल एक स्वैप विभाजन होता है। स्वैपिंग के लिए समर्पित हार्ड ड्राइव को स्वैप ड्राइव या स्क्रैच ड्राइव या स्क्रैच डिस्क कहा जाता है। उनमें से कुछ प्रणालियाँ केवल स्वैप विभाजन में अदला-बदली का समर्थन करती हैं; अन्य भी फाइलों की अदला-बदली का समर्थन करते हैं।

लिनक्स

लिनक्स कर्नेल लगभग असीमित संख्या में स्वैप बैकएंड (डिवाइस या फाइल) का समर्थन करता है, और बैकएंड प्राथमिकताओं के असाइनमेंट का भी समर्थन करता है। जब कर्नेल पृष्ठों को भौतिक मेमोरी से स्वैप करता है, तो यह उपलब्ध मुक्त स्थान के साथ उच्चतम प्राथमिकता वाले बैकएंड का उपयोग करता है। यदि एकाधिक स्वैप बैकएंड को समान प्राथमिकता दी जाती है, तो उनका उपयोग राउंड-रॉबिन शेड्यूलिंग|राउंड-रॉबिन फैशन (जो कुछ हद तक RAID 0 स्टोरेज लेआउट के समान है) में किया जाता है, जब तक कि अंतर्निहित उपकरणों को कुशलता से एक्सेस किया जा सकता है, तब तक बेहतर प्रदर्शन प्रदान करते हैं। समानांतर।[15]


फ़ाइलें और विभाजन स्वैप करें

एंड-यूज़र परिप्रेक्ष्य से, लिनक्स कर्नेल के संस्करणों 2.6.x और बाद में स्वैप फ़ाइलें वस्तुतः स्वैप विभाजन के रूप में तेज़ हैं; सीमा यह है कि स्वैप फ़ाइलों को उनके अंतर्निहित फ़ाइल सिस्टम पर सन्निहित रूप से आवंटित किया जाना चाहिए। स्वैप फ़ाइलों के प्रदर्शन को बढ़ाने के लिए, कर्नेल एक नक्शा रखता है कि उन्हें अंतर्निहित उपकरणों पर कहाँ रखा गया है और उन्हें सीधे एक्सेस करता है, इस प्रकार कैश को बायपास करता है और फाइल सिस्टम ओवरहेड से बचता है।[16][17] जब HDDs पर निवास करते हैं, जो घूर्णी चुंबकीय मीडिया उपकरण हैं, तो स्वैप विभाजन का उपयोग करने का एक लाभ उन्हें सन्निहित HDD क्षेत्रों पर रखने की क्षमता है जो उच्च डेटा थ्रूपुट या तेजी से खोज समय प्रदान करते हैं। हालाँकि, स्वैप फ़ाइलों का प्रशासनिक लचीलापन स्वैप विभाजन के कुछ लाभों को पछाड़ सकता है। उदाहरण के लिए, एक स्वैप फाइल को किसी भी माउंटेड फाइल सिस्टम पर रखा जा सकता है, किसी भी वांछित आकार में सेट किया जा सकता है, और आवश्यकतानुसार जोड़ा या बदला जा सकता है। स्वैप विभाजन उतना लचीला नहीं है; उन्हें विभाजन या लॉजिकल वॉल्यूम प्रबंधन उपकरण का उपयोग किए बिना बड़ा नहीं किया जा सकता है, जो विभिन्न जटिलताओं और संभावित डाउनटाइम का परिचय देते हैं।

अदला-बदली

स्वेपनेस एक लिनक्स कर्नेल पैरामीटर है जो वर्चुअल मेमोरी को दिए गए सापेक्ष वजन को नियंत्रित करता है # मेमोरी फुटप्रिंट का एड्रेस स्पेस स्वैपिंग, सिस्टम पेज कैश से पेज (कंप्यूटर मेमोरी) को छोड़ने के विपरीत, जब भी मेमोरी आवंटन अनुरोध को फ्री मेमोरी से पूरा नहीं किया जा सकता है। स्वैपीनेस को 0 से 200 के मान पर सेट किया जा सकता है।[18] के लिए Linux कर्नेल दस्तावेज़ीकरण एक कम मान के कारण कर्नेल पृष्ठ कैश से पृष्ठों को बेदखल करना पसंद करता है, जबकि उच्च मान के कारण कर्नेल ठंडे मेमोरी पृष्ठों को स्वैप करना पसंद करता है। डिफ़ॉल्ट (कंप्यूटर विज्ञान) है 60; इसे अधिक सेट करने से उच्च विलंबता हो सकती है यदि ठंडे पृष्ठों को वापस स्वैप करने की आवश्यकता होती है (उदाहरण के लिए निष्क्रिय प्रोग्राम के साथ बातचीत करते समय), इसे कम सेट करते समय (यहां तक ​​​​कि 0) उच्च विलंबता का कारण बन सकता है जब फ़ाइलों को बेदखल कर दिया गया था। कैश को फिर से पढ़ने की जरूरत है, लेकिन इंटरैक्टिव प्रोग्राम को और अधिक प्रतिक्रियाशील बना देगा क्योंकि उन्हें ठंडे पृष्ठों को वापस स्वैप करने की आवश्यकता कम होगी। स्वैपिंग हार्ड डिस्क ड्राइव को और भी धीमा कर सकती है क्योंकि इसमें बहुत सारे रैंडम राइट्स शामिल होते हैं, जबकि सॉलिड-स्टेट ड्राइव में यह समस्या नहीं होती है। निश्चित रूप से अधिकांश वर्कलोड में डिफ़ॉल्ट मान अच्छी तरह से काम करते हैं, लेकिन किसी भी अपेक्षित कार्य के लिए डेस्कटॉप और इंटरैक्टिव सिस्टम सेटिंग को कम करना चाहते हैं जबकि बैच प्रोसेसिंग और कम इंटरैक्टिव सिस्टम इसे बढ़ाना चाह सकते हैं।[19]


अदला-बदली मौत

जब सिस्टम मेमोरी वर्तमान कार्यों के लिए अत्यधिक अपर्याप्त है और मेमोरी गतिविधि का एक बड़ा हिस्सा धीमी स्वैप के माध्यम से चला जाता है, तो सिस्टम व्यावहारिक रूप से किसी भी कार्य को निष्पादित करने में असमर्थ हो सकता है, भले ही सीपीयू निष्क्रिय हो। जब हर प्रक्रिया स्वैप पर प्रतीक्षा कर रही हो, तो सिस्टम को स्वैप डेथ में माना जाता है।[20][21] गलत तरीके से कॉन्फ़िगर की गई मेमोरी ओवरकमिटमेंट के कारण स्वैप डेथ हो सकती है।[22][23][24] स्वैपिंग टू डेथ समस्या का मूल विवरण एक्स विंडो सिस्टम प्रोटोकॉल और आर्किटेक्चर # क्लाइंट-सर्वर मॉडल और नेटवर्क पारदर्शिता से संबंधित है। यदि कीस्ट्रोक का जवाब देने के लिए X सर्वर द्वारा उपयोग किया गया कोड या डेटा मुख्य मेमोरी में नहीं है, तो यदि उपयोगकर्ता कीस्ट्रोक में प्रवेश करता है, तो सर्वर एक या अधिक पृष्ठ दोष लेगा, कीस्ट्रोक से पहले उन पृष्ठों को स्वैप से पढ़ने की आवश्यकता होगी संसाधित, इसकी प्रतिक्रिया को धीमा कर रहा है। यदि वे पृष्ठ स्मृति में नहीं रहते हैं, तो उन्हें अगले कीस्ट्रोक को संभालने के लिए फिर से दोष लगाना होगा, जिससे सिस्टम व्यावहारिक रूप से अनुत्तरदायी हो जाता है, भले ही वह वास्तव में अन्य कार्यों को सामान्य रूप से निष्पादित कर रहा हो।[25]


macOS

macOS एकाधिक स्वैप फ़ाइलों का उपयोग करता है। डिफ़ॉल्ट (और Apple-अनुशंसित) स्थापना उन्हें रूट विभाजन पर रखती है, हालांकि उन्हें एक अलग विभाजन या डिवाइस पर रखना संभव है।[26]


अमीगाओएस 4

AmigaOS 4.0 ने RAM आवंटित करने और भौतिक मेमोरी को डीफ़्रेग्मेंट करने के लिए एक नई प्रणाली पेश की। यह अभी भी फ्लैट साझा पता स्थान का उपयोग करता है जिसे डीफ़्रेग्मेंट नहीं किया जा सकता है। यह स्लैब आवंटन और पेजिंग मेमोरी पर आधारित है जो स्वैपिंग की अनुमति देता है। पेजिंग को AmigaOS 4.1 में लागू किया गया था, लेकिन अगर सभी भौतिक मेमोरी का उपयोग किया जाता है तो यह सिस्टम को लॉक कर सकता है।[27] स्वैप मेमोरी को किसी भी क्षण सक्रिय और निष्क्रिय किया जा सकता है जिससे उपयोगकर्ता केवल भौतिक रैम का उपयोग करना चुन सकता है।

प्रदर्शन

वर्चुअल मेमोरी ऑपरेटिंग सिस्टम के लिए बैकिंग स्टोर आमतौर पर रैंडम एक्सेस मेमोरी की तुलना में परिमाण के कई क्रम धीमे होते हैं। इसके अतिरिक्त, मैकेनिकल स्टोरेज डिवाइस का उपयोग हार्ड डिस्क के लिए एक्सेस टाइम, कई मिलीसेकंड का परिचय देता है। इसलिए, जहाँ व्यावहारिक हो, अदला-बदली को कम करना या समाप्त करना वांछनीय है। कुछ ऑपरेटिंग सिस्टम कर्नेल के निर्णयों को प्रभावित करने के लिए सेटिंग्स प्रदान करते हैं।

  • लिनक्स प्रदान करता है /proc/sys/vm/swappiness पैरामीटर, जो सिस्टम पेज कैश से पृष्ठों को छोड़ने के विपरीत, रनटाइम मेमोरी को स्वैप करने के बीच संतुलन को बदलता है।
  • Windows 2000, XP, और Vista ऑफ़र करते हैं DisablePagingExecutive रजिस्ट्री सेटिंग, जो नियंत्रित करती है कि क्या कर्नेल-मोड कोड और डेटा पेजिंग आउट के योग्य हो सकते हैं।
  • मेनफ्रेम कंप्यूटर अक्सर हेड-पर-ट्रैक डिस्क ड्राइव या पेज के लिए ड्रम का इस्तेमाल करते हैं और सीक टाइम को खत्म करने के लिए स्टोरेज स्वैप करते हैं, और कई प्रौद्योगिकियां[28] घूर्णी विलंबता को कम करने के लिए एक ही उपकरण के लिए कई समवर्ती अनुरोध करने के लिए।
  • फ्लैश मेमोरी में मिटाने-लिखने के चक्रों की एक सीमित संख्या होती है (फ्लैश मेमोरी#सीमाएं देखें), और डेटा की सबसे छोटी मात्रा जिसे एक बार में मिटाया जा सकता है वह बहुत बड़ी हो सकती है (इंटेल X25-M SSD के लिए 128 KiB) [29]), शायद ही कभी पेजसाइज के साथ मेल खाता हो। इसलिए, तंग मेमोरी परिस्थितियों में स्वैप स्पेस के रूप में उपयोग किए जाने पर फ्लैश मेमोरी जल्दी खराब हो सकती है। आकर्षक पक्ष पर, हार्ड डिस्क की तुलना में फ्लैश मेमोरी व्यावहारिक रूप से विलंबित है, और रैम चिप्स के रूप में अस्थिर मेमोरी नहीं है। इन विशेषताओं का फायदा उठाने के लिए रेडीबॉस्ट और इंटेल टर्बो मेमोरी जैसी योजनाएं बनाई गई हैं।

कई यूनिक्स जैसे ऑपरेटिंग सिस्टम (उदाहरण के लिए AIX, Linux, और Solaris (ऑपरेटिंग सिस्टम)) प्रदर्शन को बढ़ाने के लिए समानांतर में स्वैप स्पेस के लिए कई स्टोरेज डिवाइस का उपयोग करने की अनुमति देते हैं।

स्थान का आकार बदलें

कुछ पुराने वर्चुअल मेमोरी ऑपरेटिंग सिस्टम में, स्वैप बैकिंग स्टोर में स्थान आरक्षित होता है जब प्रोग्राम रनटाइम डेटा के लिए मेमोरी आवंटित करते हैं। ऑपरेटिंग सिस्टम विक्रेता आमतौर पर दिशानिर्देश जारी करते हैं कि कितना स्वैप स्थान आवंटित किया जाना चाहिए।

32-बिट हार्डवेयर पर एड्रेसिंग लिमिट्स

पेजिंग एक प्रक्रिया द्वारा उपयोग किए जाने वाले पतों के आकार की अनुमति देने का एक तरीका है, जो कि प्रक्रिया का वर्चुअल एड्रेस स्पेस या लॉजिकल एड्रेस स्पेस है, जो किसी विशेष कंप्यूटर पर वास्तव में स्थापित मुख्य मेमोरी की मात्रा से भिन्न होता है, जो कि भौतिक एड्रेस स्पेस है। .

=== वर्चुअल मेमोरी === से छोटी मुख्य मेमोरी अधिकांश प्रणालियों में, प्रक्रिया के वर्चुअल एड्रेस स्पेस का आकार उपलब्ध मुख्य मेमोरी से काफी बड़ा होता है।[30] उदाहरण के लिए:

  • सीपीयू को मुख्य मेमोरी से जोड़ने वाली एड्रेस बस सीमित हो सकती है। Intel 80386#i386SX वैरिएंट के 32-बिट आंतरिक पते 4 जीबी को संबोधित कर सकते हैं, लेकिन इसमें केवल 24 पिन हैं जो एड्रेस बस से जुड़े हैं, स्थापित भौतिक मेमोरी को 16 एमबी तक सीमित करते हैं। स्थापित की जा सकने वाली RAM की अधिकतम मात्रा पर अन्य हार्डवेयर प्रतिबंध हो सकते हैं।
  • अधिकतम मेमोरी लागत के कारण स्थापित नहीं हो सकती है, क्योंकि मॉडल का मानक कॉन्फ़िगरेशन इसे छोड़ देता है, या क्योंकि खरीदार को विश्वास नहीं था कि यह फायदेमंद होगा।
  • कभी-कभी मेमोरी के लिए सभी आंतरिक पतों का उपयोग नहीं किया जा सकता है, क्योंकि हार्डवेयर आर्किटेक्चर I/O या अन्य सुविधाओं के लिए बड़े क्षेत्रों को आरक्षित कर सकता है।

=== मुख्य मेमोरी वर्चुअल मेमोरी === के समान आकार की होती है ट्रू एन-बिट एड्रेसिंग वाले कंप्यूटर में 2 हो सकते हैंn रैम की पता योग्य इकाइयां स्थापित हैं। एक उदाहरण 32-बिट x86 प्रोसेसर है जिसमें 4 गीगाबाइट और बिना भौतिक पता एक्सटेंशन (PAE) है। इस मामले में, प्रोसेसर स्थापित सभी रैम को संबोधित करने में सक्षम है और नहीं।

हालाँकि, इस मामले में भी, पेजिंग का उपयोग 4 जीबी से अधिक की वर्चुअल मेमोरी बनाने के लिए किया जा सकता है। उदाहरण के लिए, कई प्रोग्राम समवर्ती रूप से चल रहे हो सकते हैं। साथ में, उन्हें 4GB से अधिक की आवश्यकता हो सकती है, लेकिन यह सभी एक बार में RAM में नहीं होना चाहिए। एक पेजिंग सिस्टम कुशल निर्णय लेता है कि किस मेमोरी को सेकेंडरी स्टोरेज में स्थानांतरित करना है, जिससे स्थापित रैम का सबसे अच्छा उपयोग होता है।

हालांकि इस उदाहरण में प्रोसेसर 4 जीबी से अधिक रैम को संबोधित नहीं कर सकता है, ऑपरेटिंग सिस्टम उन प्रोग्रामों को सेवाएं प्रदान कर सकता है जो एक बड़ी मेमोरी की कल्पना करते हैं, जैसे फ़ाइलें जो स्थापित रैम की सीमा से आगे बढ़ सकती हैं। ऑपरेटिंग सिस्टम फ़ाइल के कुछ हिस्सों को आवश्यक होने पर रैम में लाने के लिए पेजिंग का उपयोग करके प्रोग्राम को मनमाने ढंग से फ़ाइल में डेटा में हेरफेर करने देता है।

=== वर्चुअल एड्रेस स्पेस === से बड़ी मुख्य मेमोरी कुछ कंप्यूटरों की मुख्य मेमोरी किसी प्रक्रिया के वर्चुअल एड्रेस स्पेस से बड़ी होती है, जैसे मैजिक-1,[30]कुछ PDP-11#Decline|PDP-11 मशीनें, और भौतिक पता विस्तार के साथ 32-बिट x86 प्रोसेसर का उपयोग करने वाली कुछ प्रणालियाँ। यह पेजिंग के एक महत्वपूर्ण लाभ को समाप्त कर देता है, क्योंकि एक एकल प्रक्रिया अपने वर्चुअल एड्रेस स्पेस की मात्रा से अधिक मुख्य मेमोरी का उपयोग नहीं कर सकती है। ऐसी प्रणालियाँ अक्सर द्वितीयक लाभ प्राप्त करने के लिए पेजिंग तकनीकों का उपयोग करती हैं:

  • अतिरिक्त मेमोरी का उपयोग पृष्ठ कैश में अक्सर उपयोग की जाने वाली फ़ाइलों और मेटाडेटा को कैश करने के लिए किया जा सकता है, जैसे कि सेकेंडरी स्टोरेज से निर्देशिका जानकारी।
  • यदि प्रोसेसर और ऑपरेटिंग सिस्टम कई वर्चुअल एड्रेस स्पेस का समर्थन करते हैं, तो अतिरिक्त मेमोरी का उपयोग अधिक प्रक्रियाओं को चलाने के लिए किया जा सकता है। पेजिंग भौतिक मुख्य मेमोरी से अधिक वर्चुअल एड्रेस स्पेस के संचयी कुल की अनुमति देता है।
  • एक प्रक्रिया मेमोरी-समर्थित फाइल सिस्टम पर मेमोरी-मैप्ड फाइलों में डेटा स्टोर कर सकती है, जैसे कि रैम ड्राइव पर tmpfs फाइल सिस्टम या फाइल सिस्टम, और आवश्यकतानुसार एड्रेस स्पेस में और बाहर मैप फाइल।
  • प्रक्रियाओं का एक सेट अभी भी बढ़ी हुई सुरक्षा सुविधाओं पर निर्भर हो सकता है, पृष्ठ-आधारित अलगाव एक मल्टीटास्किंग वातावरण ला सकता है।

वर्चुअल एड्रेस स्पेस के संचयी कुल का आकार अभी भी उपलब्ध सेकेंडरी स्टोरेज की मात्रा से सीमित है।

यह भी देखें

  • बेलाडी की विसंगति
  • डिमांड पेजिंग, एक आलसी पेजिंग स्कीम
  • विस्तारित स्मृति
  • स्मृति प्रबंधन
  • मेमोरी सेगमेंटेशन
  • पेज (कंप्यूटर मेमोरी)
  • पेज कैश, एक डिस्क कैश जो वर्चुअल मेमोरी मैकेनिज्म का उपयोग करता है
  • पृष्ठ प्रतिस्थापन एल्गोरिथ्म
  • पेज टेबल
  • भौतिक स्मृति, पेजिंग का विषय
  • वर्चुअल मेमोरी, एक अमूर्तता जो पेजिंग बना सकती है


टिप्पणियाँ

  1. Initially drums, and then hard disk drives and solid-state drives have been used for paging.
  2. For example, MVS (Multiple Virtual Storage).
  3. A non-equivalence interruption occurs when the high order bits of an address do not match any entry in the associative memory.


संदर्भ

  1. Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Operating systems". Encyclopedia of computer science and technology. Vol. 11. CRC Press. p. 442. ISBN 0-8247-2261-2. Archived from the original on 2017-02-27.
  2. Cragon, Harvey G. (1996). Memory Systems and Pipelined Processors. Jones and Bartlett Publishers. p. 109. ISBN 0-86720-474-5. Archived from the original on 2017-02-27.
  3. Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Virtual memory systems". Encyclopedia of computer science and technology. Vol. 14. CRC Press. p. 32. ISBN 0-8247-2214-0. Archived from the original on 2017-02-27.
  4. Kilburn, T; Payne, R B; Howarth, D J (1962). "एटलस पर्यवेक्षक".
  5. R. W. O'Neill. डायनामिक एड्रेस रिलोकेशन हार्डवेयर के साथ टाइम शेयरिंग मल्टीप्रोग्रामिंग सिस्टम का उपयोग करने का अनुभव. Proc. AFIPS Computer Conference 30 (Spring Joint Computer Conference, 1967). pp. 611–621. doi:10.1145/1465482.1465581.
  6. वैज्ञानिक डेटा सिस्टम संदर्भ मैनुअल, एसडीएस 940 कंप्यूटर (PDF). 1966. pp. 8–9.
  7. Sumner, F. H.; Haley, G.; Chenh, E. C. Y. (1962). "The Central Control Unit of the 'Atlas' Computer". Information Processing 1962. IFIP Congress Proceedings. Vol. Proceedings of IFIP Congress 62. Spartan.
  8. "The Atlas". University of Manchester: Department of Computer Science. Archived from the original on 2012-07-28.
  9. "Atlas Architecture". Atlas Computer. Chilton: Atlas Computer Laboratory. Archived from the original on 2012-12-10.
  10. Kilburn, T.; Payne, R. B.; Howarth, D. J. (December 1961). "The Atlas Supervisor". Computers - Key to Total Systems Control. Conferences Proceedings. Vol. 20, Proceedings of the Eastern Joint Computer Conference Washington, D.C. Macmillan. pp. 279–294. Archived from the original on 2009-12-31.
  11. Kilburn, T.; Edwards, D. B. G.; Lanigan, M. J.; Sumner, F. H. (April 1962). "One-Level Storage System". IRE Transactions on Electronic Computers. Institute of Radio Engineers (2): 223–235. doi:10.1109/TEC.1962.5219356.
  12. Tsigkogiannis, Ilias (2006-12-11). "क्रैश डंप विश्लेषण". driver writing != bus driving. Microsoft. Archived from the original on 2008-10-07. Retrieved 2008-07-22.
  13. "Windows Sysinternals PageDefrag". Sysinternals. Microsoft. 2006-11-01. Archived from the original on 2010-12-25. Retrieved 2010-12-20.
  14. Both, David (2020-03-27). "Linux सिस्टम पर स्थान बदलने के लिए एक परिचय". Opensource.com. Retrieved 2021-12-08.
  15. "swapon(2) – Linux man page". Linux.Die.net. Archived from the original on 2014-02-28. Retrieved 2014-09-08.
  16. ""जेस्पर जुहल": पुन:: विराम कैसे भेजें? - जमे हुए 64 बिट लिनक्स से डंप करें". LKML. 2006-05-29. Archived from the original on 2010-11-24. Retrieved 2010-10-28.
  17. "एंड्रयू मॉर्टन: पुन: स्वैप विभाजन बनाम स्वैप फ़ाइल". LKML. Archived from the original on 2010-11-24. Retrieved 2010-10-28.
  18. {{cite web|url=https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html#swappiness%7Ctitle=/Proc/sys/vm/}
  19. Andrews, Jeremy (2004-04-29). "लिनक्स: ट्यूनिंग स्वैपनेस". kerneltrap.org. Archived from the original on 2013-05-24. Retrieved 2018-01-03.
  20. Rik van Riel (1998-05-20). "स्वैप डेथ (2.1.91 के अनुसार) और पेज टेबल". Archived from the original on 2017-12-29.
  21. Kyle Rankin (2012). DevOps समस्या निवारण: Linux सर्वर सर्वोत्तम अभ्यास. Addison-Wesley. p. 159. ISBN 978-0-13-303550-6. Archived from the original on 2017-12-29.
  22. Andries Brouwer. "लिनक्स कर्नेल: मेमोरी". Archived from the original on 2017-08-13.
  23. Red Hat. "क्षमता ट्यूनिंग". Archived from the original on 2017-07-23.
  24. "मेमोरी overcommit सेटिंग्स". 2014-02-16. Archived from the original on 2017-05-31.
  25. Peter MacDonald (1993-02-10). "मौत की अदला-बदली". Archived from the original on 2017-03-28.
  26. John Siracusa (2001-10-15). "Mac OS X 10.1". Ars Technica. Archived from the original on 2008-09-05. Retrieved 2008-07-23.
  27. AmigaOS Core Developer (2011-01-08). "Re: Swap issue also on Update 4 ?". Hyperion Entertainment. Archived from the original on 2013-04-12. Retrieved 2011-01-08.
  28. E.g., Rotational Position Sensing on a Block Multiplexor channel
  29. "SSD के इरेज़ ब्लॉक साइज़ के लिए फ़ाइल सिस्टम को अलाइन करना". Thunk.org. 2009-02-20. Archived from the original on 2010-11-13. Retrieved 2010-10-28. {{cite web}}: Text "टेड के विचार" ignored (help)
  30. 30.0 30.1 Bill Buzbee. "मैजिक-1 मिनिक्स डिमांड पेजिंग डिजाइन". Archived from the original on 2013-06-05. Retrieved 2013-12-09.


इस पेज में लापता आंतरिक लिंक की सूची

बाहरी संबंध