मेमोरी मैप
कंप्यूटर विज्ञान में, मेमोरी प्रतिचित्र डेटा की एक संरचना है (जो सामान्यतः मेमोरी में ही रहती है) जो स्पष्ट करती है कि मुख्य मेमोरी कैसे रखी जाती है। मुख्य मेमोरी प्रतिचित्र शब्द के अलग-अलग संदर्भों में अलग-अलग अर्थ हो सकते हैं।
- यह सबसे तीव्र और सबसे नम्य कैश (कंप्यूटिंग) संगठन है जो साहचर्य मेमोरी का उपयोग करता है। साहचर्य मेमोरी , मेमोरी शब्द के एड्रेस और विषय सूची दोनों को संग्रहीत करती है।[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) |
ईएस:डीआई | खंड: परिणाम के लिए बफर का ऑफसेट स्थान। |
एसएमएपी बफर संरचना:
ऑफसेट | आकार | मूल्य विवरण |
---|---|---|
0 | QWORD (8 बाइट्स) | ईबीएक्स द्वारा संदर्भित मेमोरी मैप क्षेत्र का आधार पता। |
8 | QWORD (8 बाइट्स) | बाइट्स में लंबाई। |
16 | DWORD (4 बाइट्स) | पता श्रेणी का प्रकार। |
कैसे उपयोग किया जाता है: प्रचालन प्रणाली मेमोरी (20 बाइट्स बफर) में एक एसएमएपी बफर निर्धारित करेगा। फिर इनपुट टेबल में बताए अनुसार रजिस्टर निर्धारित करें। पहली कॉल पर, ईबीएक्स को 0 पर निर्धारित किया जाना चाहिए। अगला चरण INT 0x15 को कॉल करना है। यदि कोई त्रुटि नहीं है, तो अवरूध्द कॉल सीएफ स्पष्ट और मेमोरी प्रतिचित्र के पहले क्षेत्र का प्रतिनिधित्व करने वाले डेटा से भरे बफर के साथ वापस आती है। ईबीएक्स को बीआईओएस द्वारा अपडेट किया जाता है ताकि जब ओएस रूटीन को फिर से कॉल करे, तो अगला क्षेत्र बफर में वापस आ जाए। यदि सब कुछ हो जाए तो बीआईओएस ईबीएक्स को शून्य पर निर्धारित करता है।
यह भी देखें
- बीआईओएस
- RAMMap मार्क रोसिनोविच द्वारा
संदर्भ