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

From Vigyanwiki
No edit summary
No edit summary
Line 16: Line 16:
{| 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>
Line 31: Line 31:
{| 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)
|-
| ईएस:डीआई || खंड: परिणाम के लिए बफर का ऑफसेट स्थान।
|}K 16M से ऊपर ब्लॉक करता है।
|-
| ईसीएक्स || KB में कॉन्फ़िगर की गई मेमोरी 1M से 16M।
|-
| ईडीएक्स || 16M से ऊपर कॉन्फ़िगर किए गए 64K ब्लॉक की संख्या।
|}
|}
एसएमएपी बफर संरचना:
एसएमएपी बफर संरचना:
{| 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 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द कॉल सीएफ स्पष्ट औरस्मृति प्रतिचित्र  के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस  द्वारा अपडेट किया जाता है ताकि जब ओएस  रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो बीआईओएस  ईबीएक्स को शून्य पर निर्धारित करता है।

Revision as of 08:25, 28 April 2023

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

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

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

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)
ईएस:डीआई खंड: परिणाम के लिए बफर का ऑफसेट स्थान।

K 16M से ऊपर ब्लॉक करता है।

|- | ईसीएक्स || KB में कॉन्फ़िगर की गई मेमोरी 1M से 16M। |- | ईडीएक्स || 16M से ऊपर कॉन्फ़िगर किए गए 64K ब्लॉक की संख्या। |} एसएमएपी बफर संरचना:

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

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

यह भी देखें

संदर्भ

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