मेमोरी मैप: Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Data structure}} {{Distinguish|Memory-mapped file}} कंप्यूटर विज्ञान में, मेमोरी मैप डेटा...")
 
No edit summary
Line 1: Line 1:
{{short description|Data structure}}
{{short description|Data structure}}
{{Distinguish|Memory-mapped file}}
{{Distinguish|Memory-mapped file}}
[[कंप्यूटर विज्ञान]] में, मेमोरी मैप डेटा की एक संरचना है (जो आमतौर पर मेमोरी में ही रहती है) जो इंगित करती है कि मुख्य मेमोरी कैसे रखी जाती [[मुख्य स्मृति]] मैप शब्द के अलग-अलग संदर्भों में अलग-अलग अर्थ हो सकते हैं।
[[कंप्यूटर विज्ञान]] में,स्मृति प्रतिचित्र डेटा की एक संरचना है (जो सामान्यतः मेमोरी में ही रहती है) जो स्पष्ट करती है कि मुख्य मेमोरी कैसे रखी जाती है। [[मुख्य स्मृति]] प्रतिचित्र शब्द के अलग-अलग संदर्भों में अलग-अलग अर्थ हो सकते हैं।
*यह सबसे तेज़ और सबसे लचीला [[कैश (कंप्यूटिंग)]] संगठन है जो सामग्री-पता योग्य मेमोरी का उपयोग करता है। साहचर्य स्मृति स्मृति शब्द के पते और सामग्री दोनों को संग्रहीत करती है।{{explain|date=April 2020}}
*यह सबसे तीव्र और सबसे लचीला [[कैश (कंप्यूटिंग)]] संगठन है जोसाहचर्य स्मृति का उपयोग करता है। साहचर्य स्मृति स्मृति शब्द के एड्रेस और विषय सूची दोनों को संग्रहीत करती है।{{explain|date=April 2020}}
* [[बूटिंग]] में, [[ऑपरेटिंग सिस्टम]] [[कर्नेल (ऑपरेटिंग सिस्टम)]] को मेमोरी लेआउट के बारे में निर्देश देने के लिए [[फर्मवेयर]] से एक मेमोरी मैप पास किया जाता है। इसमें कुल मेमोरी के आकार, किसी भी आरक्षित क्षेत्र के बारे में जानकारी शामिल है और यह आर्किटेक्चर के लिए विशिष्ट अन्य विवरण भी प्रदान कर सकता है।
* [[बूटिंग|बूट प्रक्रिया]] में, [[ऑपरेटिंग सिस्टम|प्रचालन प्रणाली]] [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (प्रचालन प्रणाली )]] को मेमोरी अभिन्यास के बारे में निर्देश देने के लिए [[फर्मवेयर]] से एक स्मृति प्रतिचित्र पास किया जाता है। इसमें कुल मेमोरी के आकार, किसी भी आरक्षित क्षेत्र के बारे में जानकारी सम्मिलित  है और यह वास्तुकला के लिए विशिष्ट अन्य विवरण भी प्रदान कर सकता है।
*[[ आभासी मेमोरी ]] कार्यान्वयन और मेमोरी प्रबंधन इकाइयों में, एक मेमोरी मैप [[पेज टेबल]] या [[हार्डवेयर रजिस्टर]]ों को संदर्भित करता है, जो एक निश्चित प्रक्रिया के वर्चुअल मेमोरी लेआउट के बीच मैपिंग को स्टोर करता है और यह स्थान भौतिक मेमोरी पतों से कैसे संबंधित है।
*[[ आभासी मेमोरी ]]कार्यान्वयन और मेमोरी प्रबंधन इकाइयों में, एकस्मृति प्रतिचित्र [[पेज टेबल]] या [[हार्डवेयर रजिस्टर]] को संदर्भित करता है, जो एक निश्चित प्रक्रिया के आभासी मेमोरी अभिन्यास के बीच प्रतिचित्र को संग्रहित करता है और यह स्थान भौतिक मेमोरी एड्रेस से कैसे संबंधित है।
*देशी [[डिबगर]] प्रोग्राम में, एक मेमोरी मैप लोडेड निष्पादन योग्य (या) लाइब्रेरी फ़ाइलों और मेमोरी क्षेत्रों के बीच मैपिंग को संदर्भित करता है। इन स्मृति मानचित्रों का उपयोग स्मृति पतों (जैसे [[समारोह सूचक]]) को वास्तविक प्रतीकों में हल करने के लिए किया जाता है।
*प्राचीन [[डिबगर|दोषमार्जक]] कार्यक्रम में, एकस्मृति प्रतिचित्र सुसंपन्न निष्पादन योग्य (या) लाइब्रेरी फ़ाइलों और मेमोरी क्षेत्रों के बीच प्रतिचित्र को संदर्भित करता है। इन स्मृति मानचित्रों का उपयोग स्मृति एड्रेस (जैसे [[समारोह सूचक]]) को वास्तविक प्रतीकों में हल करने के लिए किया जाता है।


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


BIOS फ़ंक्शन: INT 0x15, AX = 0xE801:<ref>{{cite web|title=15E801|url=http://www.delorie.com/djgpp/doc/rbinter/id/48/17.html|publisher=}}</ref>
बीआईओएस फलन : INT 0x15, AX = 0xE801:<ref>{{cite web|title=15E801|url=http://www.delorie.com/djgpp/doc/rbinter/id/48/17.html|publisher=}}</ref>
इस BIOS इंटरप्ट कॉल का उपयोग 64MB+ कॉन्फ़िगरेशन के लिए मेमोरी आकार प्राप्त करने के लिए किया जाता है। यह 23 अगस्त, 1994 या उसके बाद के [[अमेरिकन मेगाट्रेंड्स]] BIOSses द्वारा समर्थित है। कॉलर AX को 0xE801 पर सेट करता है और फिर int 0x15 निष्पादित करता है। यदि कुछ त्रुटि हो गई है, तो सीएफ (कैरी फ्लैग) के साथ रूटीन रिटर्न 1 पर सेट होता है।
 
इस बीआईओएस अवरूध्द कॉल का उपयोग 64MB+ संरूपण के लिए मेमोरी आकार प्राप्त करने के लिए किया जाता है। यह 23 अगस्त, 1994 या उसके बाद के [[अमेरिकन मेगाट्रेंड्स]] BIOSses द्वारा समर्थित है। कॉलर AX को 0xE801 पर निर्धारित करता है और फिर int 0x15 निष्पादित करता है। यदि कुछ त्रुटि हो गई है, तो सीएफ (कैरी फ्लैग) के साथ रूटीन रिटर्न 1 पर निर्धारित होता है।


{| class="wikitable"
{| class="wikitable"
Line 25: Line 26:
| EDX || Count of configured 64K blocks above 16M.
| EDX || Count of configured 64K blocks above 16M.
|}
|}
BIOS फ़ंक्शन: INT 0x15, AX=0xE820 - सिस्टम मेमोरी मैप प्राप्त करें:<ref>{{cite web|title=15E820|url=http://www.delorie.com/djgpp/doc/rbinter/id/50/17.html|publisher=}}</ref>
बीआईओएस फलन : INT 0x15, AX=0xE820 - सिस्टमस्मृति प्रतिचित्र  प्राप्त करें:<ref>{{cite web|title=15E820|url=http://www.delorie.com/djgpp/doc/rbinter/id/50/17.html|publisher=}}</ref>
 
इनपुट:
इनपुट:
{| class="wikitable"
{| class="wikitable"
Line 52: Line 54:
| 16 || DWORD (4 bytes) || Type of address range.
| 16 || DWORD (4 bytes) || Type of address range.
|}
|}
कैसे उपयोग किया जाता है: ऑपरेटिंग सिस्टम मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर आवंटित करेगा। फिर इनपुट टेबल में बताए अनुसार रजिस्टर सेट करें। पहली कॉल पर, EBX को 0 पर सेट किया जाना चाहिए। अगला चरण INT 0x15 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो इंटरप्ट कॉल सीएफ स्पष्ट और मेमोरी मैप के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। EBX को BIOS द्वारा अपडेट किया जाता है ताकि जब OS रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो BIOS EBX को शून्य पर सेट करता है।
कैसे उपयोग किया जाता है: प्रचालन प्रणाली मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर निर्धारित करेगा। फिर इनपुट टेबल में बताए अनुसार रजिस्टर निर्धारित करें। पहली कॉल पर, ईबीएक्स को 0 पर निर्धारित किया जाना चाहिए। अगला चरण INT 0x15 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द कॉल सीएफ स्पष्ट औरस्मृति प्रतिचित्र  के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस  द्वारा अपडेट किया जाता है ताकि जब ओएस  रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो बीआईओएस  ईबीएक्स को शून्य पर निर्धारित करता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 01:38, 28 April 2023

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

  • यह सबसे तीव्र और सबसे लचीला कैश (कंप्यूटिंग) संगठन है जोसाहचर्य स्मृति का उपयोग करता है। साहचर्य स्मृति स्मृति शब्द के एड्रेस और विषय सूची दोनों को संग्रहीत करती है।[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".