लिनक्स के साथ x86-64 के लिए उपयोगकर्ता वर्चुअल एड्रेस स्पेस 47 बिट लंबा है। जिसका अनिवार्य रूप से मतलब है कि लिनक्स लगभग ~ 128 टीबी वर्चुअल एड्रेस रेंज के साथ एक प्रक्रिया को मैप कर सकता है।लिनक्स x86-64 में 512GB से अधिक वर्चुअल एड्रेस रेंज का समर्थन कैसे करता है?
हालांकि, मुझे क्या भ्रमित करता है कि x86-64 आर्किटेक्चर प्रत्येक प्रक्रिया के लिए आईएसए परिभाषित 4-स्तर पदानुक्रमित पृष्ठ तालिका (रेडिक्स-पेड़ के रूप में व्यवस्थित) का समर्थन करता है। पृष्ठ तालिका की जड़ केवल 512 जीबी की वर्चुअल एड्रेस एड्रेस स्पेस को मैप कर सकती है। तो लिनक्स 512 जीबी से अधिक वर्चुअल एड्रेस रेंज का समर्थन कैसे कर सकता है? क्या यह प्रत्येक प्रक्रिया के लिए एकाधिक पेज टेबल का उपयोग करता है? यदि हां, तो प्रक्रिया के लिए सीआर 3 (x86-64 के पृष्ठ तालिका के आधार के पते को रखने के लिए रजिस्टर) को किसी भी प्रक्रिया के लिए क्या होना चाहिए? क्या मैं कुछ भूल रहा हूँ?
स्पष्टीकरण के लिए धन्यवाद।मैंने एक स्तर और इस प्रकार भ्रम की गड़बड़ी की। अब यह स्पष्ट है। – Arka