8

मैं "आधुनिक ऑपरेटिंग सिस्टम" पुस्तक पढ़ रहा हूं। और मैं "पेज साइज" के बारे में उलझन में हूं।क्यों 12-बिट ऑफसेट के साथ 16-बिट पता 4KB पृष्ठ आकार में परिणाम देता है?

पुस्तक में, लेखक कहते हैं,

भेजे 16-बिट वर्चुअल ऐड्रेस एक 4 बिट पृष्ठ संख्या में विभाजन और 12 बिट ऑफसेट है। पृष्ठ संख्या के लिए 4 बिट्स के साथ, हमारे पास ऑफसेट के लिए 12 बिट्स के साथ 16 पेज, और हो सकते हैं, हम पृष्ठ के भीतर सभी 4096 बाइट पते कर सकते हैं।

क्यों 4096 बाइट्स? 12 बिट्स के साथ, हम एक पृष्ठ के भीतर 4096 प्रविष्टियों को संबोधित कर सकते हैं। लेकिन, एक प्रविष्टि एक पता है (इस मामले में, पता आकार = 16 बिट्स)। तो मुझे लगता है कि हम 4096 (एंट्री) * 16 (बिट) = 40 9 6 (एंट्री) * 2 (बाइट) = 8 केबी को संबोधित कर सकते हैं, लेकिन पुस्तक क्यों कहती है कि हम 4096 (बाइट्स) को संबोधित कर सकते हैं?

अग्रिम धन्यवाद! :)

उत्तर

9

यह वह जगह है बाइट-संबोधित स्मृति (जो लगभग हर पिछले 30 वर्षों में किए गए मशीन का उपयोग करता है) यह सोचते हैं, इसलिए प्रत्येक पता एक बाइट, नहीं एक प्रवेश या पते या किसी अन्य बड़े मूल्य को दर्शाता है। 16-बिट मान रखने के लिए, आपको लगातार दो पते (दो बाइट्स) की आवश्यकता होगी।

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

+0

बहुत बहुत धन्यवाद! :) –

+0

मैंने 70 'और 80 के दशक में एक बड़े मेनफ्रेम पर काम किया था जिसे शब्द संबोधित किया गया था। उन्होंने एक विकल्प दिया जिसने हार्डवेयर जोड़ा जो आपको बाइट्स या बीसीडी अक्षरों को सीधे संबोधित करने की अनुमति देता है। – dbasnett

+2

@dbasnett: मुझे इसे तोड़ने से नफरत है, लेकिन 70 के दशक पहले 30 साल से अधिक थे ... –

3

12 बिट एक एक पृष्ठ के भीतर भरपाई कर रहे हैं। ऑफ़सेट बाइट्स में है, पते नहीं। 2^12 4096.

0

क्या आप गणना कर रहे हैं पृष्ठ आकार, अर्थात स्मृति में पेज तालिका में एक पृष्ठ के आकार है। चूंकि हम ऑफ़सेट के लिए 12 बिट्स का उपयोग करते हैं, भौतिक मेमोरी में प्रत्येक फ्रेम 2^12 = 4096K है। हालांकि, पृष्ठ तालिका में प्रत्येक पृष्ठ स्मृति में 2^12 प्रविष्टियां x 2 बाइट्स = 8K पर कब्जा करता है।

0

ठीक है तो आप 16 बिट वर्चुअल ऐड्रेस जाने देखना इसका मतलब क्या यह मतलब है कि आप 2 ** 16 = 65536 बाइट्स होता है।

4 बिट पेज संख्या जिसका अर्थ है कि 16 पृष्ठ 2^4 = 16 के रूप में हैं, अब आप पृष्ठ 1 पृष्ठ, पृष्ठ 2 के रूप में पृष्ठ हैं।

अब हम 12bits के साथ छोड़ दिया जाता है हम देखते हैं कि कितने पता 12 बिट्स का प्रतिनिधित्व कर सकते हैं 2 ** 12 = 4096 बाइट्स

65536 बाइट्स भी 4096 बाइट्स 4096 के रूप में प्रत्येक युक्त 16 पृष्ठों में विभाजित करके प्राप्त किया जा सकता * 16 = 65536

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