5

पेजिंग भ्रम पैदा करता है कि प्रत्येक प्रक्रिया में पृष्ठों को डिस्क से और स्थानांतरित करके अनंत रैम होती है। तो अगर हमारे पास अनंत स्मृति है (कुछ काल्पनिक स्थिति में), क्या हमें अभी भी पेजिंग की आवश्यकता है? यदि हां, तो क्यों? मुझे एक साक्षात्कार में इस सवाल का सामना करना पड़ा।यदि हमारे पास अनंत स्मृति है, तो क्या हमें अभी भी पेजिंग की आवश्यकता है?

+0

आईएमओ हमें अभी भी स्वैपिंग उद्देश्य के लिए पेजिंग की आवश्यकता होगी। और 'अनंत स्मृति' कहकर आप रैम भी शामिल कर रहे हैं? – exexzian

उत्तर

3

यह एक दार्शनिक सवाल है तो यहां एक दार्शनिक जवाब :)

इस सवाल में चाल है कि आप अनंत स्मृति के बारे में मान्यताओं है। यह कहना ठीक है "नहीं, पेजिंग का उपयोग करने की कोई आवश्यकता नहीं है, लेकिन"। और इसके बाद अनुसरण करें:

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

उदाहरण के लिए अमेज़ॅन के एस 3 ले लो, जो सभी व्यावहारिक उद्देश्यों के लिए अनंत है। यदि आप अपनी सभी मेमोरी आवश्यकताओं को पूरा करने के लिए एस 3 पर भरोसा कर सकते हैं, तो जब आपको समय एक्स के भीतर कुछ प्राप्त करने की आवश्यकता होती है तो आप उसे एस 3 से ला सकते हैं, पेज को कुछ भी करने की आवश्यकता नहीं है या इसे "स्थानीय" मेमोरी में भी पकड़ना है। जब भी आपको इसकी आवश्यकता हो, बस इसे एस 3 से प्राप्त करें, जितनी बार आपको इसकी आवश्यकता हो। (जाहिर है, इसमें लागत और नेटवर्क जैसे अन्य असर होंगे, लेकिन अब इसे अनदेखा करें)।

बेशक आप हमेशा कह सकते हैं कि बेहतर आप चाहते हैं स्मृति का उपयोग के रूप में तेजी से संभव है, और "काफी तेजी से" के रूप में होने के लिए शायद "सबसे तेज" की तुलना में धीमी है, इसलिए स्थानीय स्मृति का उपयोग आप बेहतर प्रदर्शन आदि देना होगा

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

7

मानते हैं कि "अनंत स्मृति" का मतलब असीमित यादृच्छिक रूप से पहुंच योग्य मेमोरी या रैम है, हमें अभी भी पेजिंग की आवश्यकता होगी। यद्यपि पेजिंग अक्सर स्मृति को बचाने के लिए हार्ड डिस्क पर रैम के अंदर और बाहर पृष्ठों को स्वैप करने की क्षमता से जुड़ा हुआ है, यह पेजिंग का केवल एक पहलू है। पेजिंग करने के कुछ अन्य कारण यहां दिए गए हैं:

  • सुरक्षा। पेजिंग ऑपरेटिंग सिस्टम सुरक्षा और मेमोरी सुरक्षा को लागू करने का एक तरीका है यह सुनिश्चित करके कि एक प्रक्रिया किसी अन्य प्रक्रिया की स्मृति तक नहीं पहुंच पाती है और यह निवासी कर्नेल को संशोधित नहीं कर सकती है।
  • मल्टीटास्किंग। मेमोरी स्पेस को वर्चुअलाइज करके मल्टीटास्किंग में पिंगिंग एड्स, यानी, प्रक्रिया ए में एड्रेस 0xFOO प्रक्रिया बी
  • मेमोरी आवंटन में 0xFOO से कुछ अलग हो सकता है। विखंडन को कम करके स्मृति पहुंच में पेजिंग एड्स और रैम सुनिश्चित करने पर केवल आवंटित किया जाता है। इसका अर्थ यह है कि यद्यपि एक प्रक्रिया की आवश्यकता है, मान लीजिए, 100 एमबी निरंतर रैम स्पेस, यह शारीरिक रूप से निरंतर नहीं होना चाहिए। इसके अतिरिक्त, जब कोई प्रोग्राम 100 एमबी स्पेस का अनुरोध करता है, तो ऑपरेटिंग सिस्टम प्रोग्राम को बताएगा कि 100 एमबी स्पेस का उपयोग करना सुरक्षित है, फिर भी यह वास्तव में तब तक आवंटित नहीं किया जाएगा जब तक कि प्रोग्राम उस स्थान का पूर्ण उपयोग न करे।

मान्य है, अगर किसी के पास अनंत रैम था, तो बाद में पूरी तरह से जरूरी नहीं होगा; संसाधनों को सीमित करने के बावजूद यह हमेशा अच्छा अभ्यास है। यह पेजिंग के लिए भी एक प्रयोग का प्रदर्शन करता है जिसे कभी-कभी नहीं माना जाता है।

संबंधित मुद्दे

 संबंधित मुद्दे