मैं बोवेट और सेसाटी द्वारा "लिनक्स कर्नेल को समझना" पुस्तक के माध्यम से पढ़ रहा हूं। दूसरे अध्याय में, "लिनक्स में पेजिंग" के तहत लेखक का उल्लेख है कि पेज आर्किटेक्चर के साथ पृष्ठ मध्य और ऊपरी निर्देशिकाएं कैसे समाप्त की जाती हैं, जिनके पास पीएई सक्षम नहीं है। मुझे लेखक का क्या मतलब है इसके बाद मुझे परेशानी हो रही है।लिनक्स कर्नेल मेमोरी प्रबंधन पेजिंग स्तर
वे अपने उपचार में ढीले हो गए हैं और पूरी तरह सहज ज्ञान नहीं बनाते हैं।
कोई भौतिक पता एक्सटेंशन वाले 32-बिट आर्किटेक्चर के लिए, दो पेजिंग स्तर पर्याप्त हैं। लिनक्स अनिवार्य रूप से पृष्ठ ऊपरी निर्देशिका और पृष्ठ मध्य निर्देशिका फ़ील्ड को यह कहकर हटा देता है कि उनमें शून्य बिट्स हैं। हालांकि, पॉइंटर्स के अनुक्रम में पृष्ठ ऊपरी निर्देशिका और पृष्ठ मध्य निर्देशिका की स्थिति को रखा जाता है ताकि एक ही कोड 32-बिट और 64-बिट आर्किटेक्चर पर काम कर सके। कर्नेल पेज अपर डायरेक्टरी और पेज मिडिल डायरेक्टरी के लिए 1 में प्रविष्टियों की संख्या सेट करके और इन दो प्रविष्टियों को पेज ग्लोबल डायरेक्टरी की उचित प्रविष्टि में मैप करके स्थिति रखता है।
क्या कोई इसे और अधिक सुखद तरीके से समझा सकता है?
ठीक है, इसलिए मैंने थोड़ा और विचार दिया और कृपया देखें कि यह समझ में आता है या नहीं। इसलिए, मूल रूप से, आपके पास यह एमएमयू हार्डवेयर है जो टीएलबी मिस पर पृष्ठ पदानुक्रम के माध्यम से चलता है, जिसके लिए अनिवार्य रूप से, एकल प्रविष्टि पीएमडी और पीयूडी अनजान हैं। हालांकि, शेष कर्नेल कोड के लिए, हमें 4-स्तरीय पेजिंग का एक समान इंटरफेस पेश करने की आवश्यकता है।इसलिए, हमारे पास एक एकल प्रविष्टि पीयूडी है और एक एकल प्रविष्टि पीएमडी है जिसमें से प्रत्येक को उस पते के लिए संबंधित पीजीडी प्रविष्टि के सटीक समान मूल्य को शामिल करने के लिए अनुकरण किया जाता है। – subramanian
हां। पीएई के बिना प्रोसेसर पर, एमएमयू केवल निम्न दो टेबल की अपेक्षा करता है, लेकिन कर्नेल सभी चार की अपेक्षा करता है, इसलिए ऊपरी दो को सिर्फ एक प्रविष्टि के साथ बनाया जाना चाहिए। सुनिश्चित करें कि आप अपनी टिप्पणी को उत्तर के रूप में जोड़ सकते हैं जब आप कर सकते हैं। – ughoavgfhw
मुझे लगता है कि मेरी व्याख्या में छेद लिनक्सियोस ने मुझे स्पष्ट रूप से समझाया। तो मैं उसका जवाब सही के रूप में चिह्नित करूंगा। – subramanian