2010-07-14 6 views
18

यह पुनः सबमिट है, क्योंकि मुझे superuser.com से कोई प्रतिक्रिया नहीं मिल रही है। गलतफहमी के लिए खेद है।भौतिक एड्रेसिंग और वर्चुअल एड्रेसिंग अवधारणा के बीच अंतर

मुझे एम्बेडेड सिस्टम में भौतिक एड्रेसिंग और वर्चुअल एड्रेसिंग अवधारणा के बीच अंतर जानने की आवश्यकता है।

वर्चुअल एड्रेसिंग अवधारणा एम्बेडेड सिस्टम में क्यों लागू की जाती है?

एम्बेडेड सिस्टम में भौतिक एड्रेसिंग अवधारणा वाले सिस्टम पर वर्चुअल एड्रेसिंग का क्या फायदा है?

वर्चुअल एड्रेसिंग के लिए वर्चुअल एड्रेसिंग के बीच मैपिंग एम्बेडेड सिस्टम में कैसे किया जाता है?

कृपया, कुछ सरल वास्तुकला में कुछ सरल उदाहरणों के साथ उपर्युक्त अवधारणा को समझाएं।

+1

डुप्लीकेट पोस्ट करना ठीक नहीं है क्योंकि आपको अभी तक जवाब नहीं मिला है। –

+9

ठीक है। वही पुरानी पोस्ट हटा दी गई। –

उत्तर

40

शारीरिक पते का अर्थ है कि आपका प्रोग्राम वास्तव में रैम के वास्तविक लेआउट को जानता है। जब आप 0x8746b3 पते पर एक चर का उपयोग करते हैं, वहीं वह वास्तव में भौतिक RAM चिप्स में संग्रहीत होता है।

वर्चुअल एड्रेसिंग के साथ, सभी एप्लिकेशन मेमोरी एक्सेस पृष्ठ तालिका पर जाती हैं, जो तब वर्चुअल से भौतिक पते पर मैप करती है। इसलिए प्रत्येक एप्लिकेशन का अपना "निजी" पता स्थान होता है, और कोई प्रोग्राम किसी अन्य प्रोग्राम की स्मृति को पढ़ या लिख ​​सकता है। इसे विभाजन कहा जाता है।

वर्चुअल एड्रेसिंग के कई लाभ हैं। यह कार्यक्रमों को खराब पॉइंटर मैनिपुलेशन इत्यादि के माध्यम से एक-दूसरे को दुर्घटनाग्रस्त होने से बचाता है क्योंकि प्रत्येक कार्यक्रम का अपना अलग वर्चुअल मेमोरी सेट होता है, कोई भी प्रोग्राम किसी अन्य डेटा को नहीं पढ़ सकता है - यह दोनों सुरक्षा और सुरक्षा प्लस है। वर्चुअल मेमोरी पेजिंग को सक्षम करती है, जहां किसी प्रोग्राम की भौतिक RAM डिस्क पर (या अब, धीमी फ्लैश) को संग्रहीत नहीं किया जा सकता है, फिर जब कोई एप्लिकेशन पृष्ठ तक पहुंचने का प्रयास करता है तो वापस कॉल किया जाता है। साथ ही, चूंकि केवल एक प्रोग्राम किसी विशेष भौतिक पृष्ठ पर भौतिक पेजिंग सिस्टम में निवासी हो सकता है, या तो ए) सभी प्रोग्रामों को विभिन्न मेमोरी पतों पर लोड करने के लिए संकलित किया जाना चाहिए या बी) प्रत्येक कार्यक्रम को स्थिति-स्वतंत्र कोड, या सी) कार्यक्रमों के कुछ सेट एक साथ नहीं चल सकते हैं।

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

वर्चुअल मेमोरी का एकमात्र डाउनसाइड्स हार्डवेयर कार्यान्वयन और धीमी कार्यक्षमता में जटिलता को जोड़ा जाता है।

+0

"प्रत्येक एप्लिकेशन का अपना" निजी "पता स्थान होता है, और कोई प्रोग्राम किसी अन्य प्रोग्राम की मेमोरी को पढ़ या लिख ​​सकता है" लेकिन एमएमयू प्रत्येक आभासी पते को संबंधित भौतिक पते पर सही करता है? यदि प्रोग्राम वर्चुअल एड्रेस का उपयोग करते हैं तो यह निश्चित रूप से उसी भौतिक स्मृति क्षेत्र तक पहुंच रहा है? /renjith_g –

+4

@ रेंजिथ जी: सामान्य रूप से, एक विशेष भौतिक पृष्ठ केवल एक एप्लिकेशन की आभासी जगह पर नक्शा करता है, इसलिए कार्यक्रमों के लिए एक दूसरे के साथ हस्तक्षेप करने का कोई तरीका नहीं है। यदि आप स्पष्ट रूप से साझा स्मृति आवंटित करते हैं, तो दो अलग-अलग अनुप्रयोगों के आभासी पृष्ठ एक ही पृष्ठ पर मानचित्रित होंगे। लेकिन, सामान्य मामले में, अनुप्रयोगों के भौतिक पृष्ठ सेट अलग हैं। आभासी से भौतिक तक मैपिंग ** प्रति आवेदन ** है और जब आप संदर्भ स्विच करते हैं तो टीएलबी फ़्लश हो जाती है। – Borealid

+0

लेकिन, यदि दो अनुप्रयोग सीधे डीएमए/यूएआरटी/किसी भी एच/डब्ल्यू नियंत्रण नियंत्रण रजिस्टरों तक पहुंचते हैं (मान लें कि इसमें वर्चुअल एड्रेसिंग सक्षम है)? कार्यक्रमों में हस्तक्षेप किया गया सही? मैं मैपिंग बी/डब्ल्यू वर्चुअल और भौतिक मेमोरी एड्रेसिंग कहां देख सकता हूं? (मेरा मतलब है एमएमयू पेज टेबल?) –

1

वीएक्स (डिजिटल उपकरण कॉर्प द्वारा एक्सचेंज किया गया वर्चुअल पता जो कॉम्पैक बन गया, जो एचपी बन गया) वर्चुअल एम्बेडेड हार्डवेयर सिस्टम का एक बहुत अच्छा उदाहरण है। यह एक 32 बिट मिनी कंप्यूटर था जिसमें ओएस को वीएमएस या वर्चुअल मेमोरी सिस्टम कहा जाता था। डेव कटलर सिस्टम के सिद्धांत संग्रहों में से एक थे और उन्होंने बाद में विंडोज एनटी के लिए कर्नल लिखा। वह इस और अन्य सामान के लिए बहुत अच्छा पढ़ा है। वैक्स के पास वर्चुअल स्पेस के नियंत्रण के लिए विशेष हार्डवेयर था और हार्डवेयर के माध्यम से सुरक्षा के लिए ऑपोड एक्सेस का नियंत्रण ... बहुत सुरक्षित था। यह प्रणाली कर्नल स्तर पर मॉर्फर्न डे पीसी का दादा था या नहीं। डब्लूएनटी 3.51 पर मैंने देखा पहला बीएसओडी मैं पढ़ने में सक्षम था क्योंकि यह अस्थिर होने पर सिस्टम को रोकने के लिए वीएमएस में इस्तेमाल होने वाले क्रैश डंप से आया था। टी तरीके से वीएमएस और डब्लूएनटी नाम देखें और आपको वीएमएस से अलबेट में अगले पत्र डब्लूएनटी शब्द मिलेंगे। यह एक दुर्घटना नहीं थी।शायद उसे जाने के लिए डीईसी में एक जाब।

संबंधित मुद्दे