मेमोरी मैप

From Vigyanwiki
Revision as of 01:38, 28 April 2023 by alpha>Nyaduvansh

कंप्यूटर विज्ञान में,स्मृति प्रतिचित्र डेटा की एक संरचना है (जो सामान्यतः मेमोरी में ही रहती है) जो स्पष्ट करती है कि मुख्य मेमोरी कैसे रखी जाती है। मुख्य स्मृति प्रतिचित्र शब्द के अलग-अलग संदर्भों में अलग-अलग अर्थ हो सकते हैं।

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

पीसी बीआईओएस स्मृति प्रतिचित्र

IBM पर्सनल कंप्यूटर और IBM पीसी संगत के लिए बीआईओएस रूटीन का एक समुच्चय प्रदान करता है जिसका उपयोग मेमोरी अभिन्यास प्राप्त करने के लिए प्रचालन प्रणाली या अनुप्रयोग द्वारा किया जा सकता है। कुछ उपलब्ध दिनचर्या हैं:

बीआईओएस फलन : INT 0x15, AX = 0xE801:[1]

इस बीआईओएस अवरूध्द कॉल का उपयोग 64MB+ संरूपण के लिए मेमोरी आकार प्राप्त करने के लिए किया जाता है। यह 23 अगस्त, 1994 या उसके बाद के अमेरिकन मेगाट्रेंड्स BIOSses द्वारा समर्थित है। कॉलर AX को 0xE801 पर निर्धारित करता है और फिर int 0x15 निष्पादित करता है। यदि कुछ त्रुटि हो गई है, तो सीएफ (कैरी फ्लैग) के साथ रूटीन रिटर्न 1 पर निर्धारित होता है।

Register Value description
EAX Extended memory between 1M and 16M, in KB. (Maximum value: 0x3C00 = 15360KB).
EBX Count of 64K blocks above 16M.
ECX Configured memory 1M to 16M, in KB.
EDX Count of configured 64K blocks above 16M.

बीआईओएस फलन : INT 0x15, AX=0xE820 - सिस्टमस्मृति प्रतिचित्र प्राप्त करें:[2]

इनपुट:

Register Value description
EAX 0x0000E820
EBX Continuation value or 0x0 to start at beginning of map.
ECX Size of buffer for result (20 bytes).
EDX 0x534D4150 (ASCII for 'SMAP')
ES:DI segment:offset location of the buffer for result.

एसएमएपी बफर संरचना:

Offset Size Value description
0 QWORD (8 bytes) Base address of memory map region referred to by EBX.
8 QWORD (8 bytes) Length in bytes.
16 DWORD (4 bytes) Type of address range.

कैसे उपयोग किया जाता है: प्रचालन प्रणाली मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर निर्धारित करेगा। फिर इनपुट टेबल में बताए अनुसार रजिस्टर निर्धारित करें। पहली कॉल पर, ईबीएक्स को 0 पर निर्धारित किया जाना चाहिए। अगला चरण INT 0x15 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द कॉल सीएफ स्पष्ट औरस्मृति प्रतिचित्र के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस द्वारा अपडेट किया जाता है ताकि जब ओएस रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो बीआईओएस ईबीएक्स को शून्य पर निर्धारित करता है।

यह भी देखें

संदर्भ

  1. "15E801".
  2. "15E820".