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

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


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


बीआईओएस फलन : 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>


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


{| class="wikitable"
{| class="wikitable"
|-
|-
! Register !! Value description
! रजिस्टर !! वैल्यू विवरण
|-
|-
| EAX || Extended memory between 1M and 16M, in KB. (Maximum value: 0x3C00 = 15360KB).
| ईएक्स || KB में 1M और 16M के बीच विस्तारित मेमोरी (अधिकतम मान: 0x3C00 = 15360KB)
|-
|-
| EBX || Count of 64K blocks above 16M.
| ईबीएक्स || 16M से ऊपर 64K ब्लॉक की गणना।
|-
|-
| ECX || Configured memory 1M to 16M, in KB.
| ईसीएक्स || KB में कॉन्फ़िगर की गई मेमोरी 1M से 16M।
|-
|-
| EDX || Count of configured 64K blocks above 16M.
| ईडीएक्स || 16M से ऊपर कॉन्फ़िगर किए गए 64K ब्लॉक की संख्या।
|}
|}
बीआईओएस फलन : 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"
|-
|-
! Register !! Value description
! रजिस्टर !! वैल्यू विवरण
|-
|-
| EAX || 0x0000E820
| ईएक्स || KB में 1M और 16M के बीच विस्तारित मेमोरी। (अधिकतम मान: 0x3C00 = 15360KB)।
|-
|-
| EBX || Continuation value or 0x0 to start at beginning of map.
| ईबीएक्स || 64a की गिनती! रजिस्टर !! वैल्यू विवरण
|-
|-
| ECX || Size of buffer for result (20 bytes).
| ईएक्स || 0x0000E820
|-
|-
| EDX || 0x534D4150 (ASCII for 'SMAP')
| ईबीएक्स || मानचित्र की शुरुआत में प्रारम्भ करने के लिए निरंतरता मान या 0x0।
|-
|-
| ES:DI || segment:offset location of the buffer for result.
| ईसीएक्स || परिणाम के लिए बफर का आकार (20 बाइट्स)।
|}
|-
एसएमएपी बफर संरचना:
| ईडीएक्स || 0x534D4150 ('SMAP' के लिए ASCII)
|-
| ईएस:डीआई || खंड: परिणाम के लिए बफर का ऑफसेट स्थान।
|}'''एसएमएपी बफर संरचना:'''
{| class="wikitable"
{| class="wikitable"
|-
|-
! Offset !! Size !! Value description
! ऑफसेट !! आकार !! वैल्यू विवरण
|-
|-
| 0 || QWORD (8 bytes) || Base address of memory map region referred to by EBX.
| 0 || QWORD (8 बाइट्स) || ईबीएक्स द्वारा संदर्भित मेमोरी मैप क्षेत्र का आधार एड्रेस।
|-
|-
| 8 || QWORD (8 bytes) || Length in bytes.
| 8 || QWORD (8 बाइट्स) || बाइट्स में लंबाई।
|-
|-
| 16 || DWORD (4 bytes) || Type of address range.
| 16 || DWORD (4 बाइट्स) || एड्रेस श्रेणी का प्रकार।
|}
|}
कैसे उपयोग किया जाता है: प्रचालन प्रणाली मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर निर्धारित करेगा। फिर इनपुट टेबल में बताए अनुसार रजिस्टर निर्धारित करें। पहली कॉल पर, ईबीएक्स को 0 पर निर्धारित किया जाना चाहिए। अगला चरण INT 0x15 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द कॉल सीएफ स्पष्ट औरस्मृति प्रतिचित्र  के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस द्वारा अपडेट किया जाता है ताकि जब ओएस रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो बीआईओएस ईबीएक्स को शून्य पर निर्धारित करता है।
कैसे उपयोग किया जाता है: प्रचालन प्रणाली मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर निर्धारित करेगा। फिर इनपुट टेबल में निर्देश अनुसार रजिस्टर निर्धारित करें। पहली निर्देश पर, ईबीएक्स को 0 पर निर्धारित किया जाना चाहिए। अगला चरण INT 0x15 को निर्देश करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द निर्देश सीएफ स्पष्ट और मेमोरी मैप के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस द्वारा अपडेट किया जाता है ताकि जब ओएस रूटीन को फिर से निर्देशित करते ही अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ प्रक्रिया के अनुरूप ही हो तो बीआईओएस ईबीएक्स को शून्य पर निर्धारित करता है।


== यह भी देखें ==
== यह भी देखें ==
Line 64: Line 67:


{{Authority control}}
{{Authority control}}
[[Category: स्मृति]]




{{compsci-stub}}
{{compsci-stub}}


 
[[Category:All stub articles]]
 
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category: Machine Translated Page]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Computer science stubs]]
[[Category:Created On 25/04/2023]]
[[Category:Created On 25/04/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Template documentation pages|Short description/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia articles needing clarification from April 2020]]

Latest revision as of 17:56, 3 May 2023

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

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

पीसी बीआईओएस (BIOS) मेमोरी मैप

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

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

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

रजिस्टर वैल्यू विवरण
ईएक्स KB में 1M और 16M के बीच विस्तारित मेमोरी (अधिकतम मान: 0x3C00 = 15360KB)।
ईबीएक्स 16M से ऊपर 64K ब्लॉक की गणना।
ईसीएक्स KB में कॉन्फ़िगर की गई मेमोरी 1M से 16M।
ईडीएक्स 16M से ऊपर कॉन्फ़िगर किए गए 64K ब्लॉक की संख्या।

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

इनपुट:

रजिस्टर वैल्यू विवरण
ईएक्स KB में 1M और 16M के बीच विस्तारित मेमोरी। (अधिकतम मान: 0x3C00 = 15360KB)।
ईबीएक्स 64a की गिनती! रजिस्टर !! वैल्यू विवरण
ईएक्स 0x0000E820
ईबीएक्स मानचित्र की शुरुआत में प्रारम्भ करने के लिए निरंतरता मान या 0x0।
ईसीएक्स परिणाम के लिए बफर का आकार (20 बाइट्स)।
ईडीएक्स 0x534D4150 ('SMAP' के लिए ASCII)
ईएस:डीआई खंड: परिणाम के लिए बफर का ऑफसेट स्थान।

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

ऑफसेट आकार वैल्यू विवरण
0 QWORD (8 बाइट्स) ईबीएक्स द्वारा संदर्भित मेमोरी मैप क्षेत्र का आधार एड्रेस।
8 QWORD (8 बाइट्स) बाइट्स में लंबाई।
16 DWORD (4 बाइट्स) एड्रेस श्रेणी का प्रकार।

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

यह भी देखें

संदर्भ

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