32 बिट लिनक्स सिस्टम पर, एक प्रक्रिया 4 जीबी वर्चुअल एड्रेस स्पेस तक पहुंच सकती है; हालांकि, प्रक्रियाओं में से किसी एक को आरक्षित करने में अलग-अलग डिग्री में रूढ़िवादी प्रतीत होता है। तो एक प्रोग्राम जो मॉलोक का उपयोग करता है कभी-कभी एक सिस्कल sbrk/brk द्वारा अपना डेटा सेगमेंट बढ़ाएगा। यहां तक कि उन पृष्ठों को भौतिक स्मृति में अभी तक दावा नहीं किया गया है। जो मैं पूरी तरह से समझ नहीं पा रहा हूं, यही कारण है कि हमें पहले स्थान पर क्यों जाना है, क्यों न केवल मुझे 4 जीबी एड्रेस स्पेस दें, जब तक कि हम उन ब्लॉकों को स्पर्श/दावा न करें, यह अनिवार्य रूप से एक नि: शुल्क ऑपरेशन सही है?वर्चुअल मेमोरी और एसआरबी
5
A
उत्तर
5
क्या होता है यदि आप एक फ़ाइल को मेमोरी-मैप करते हैं (लिनक्स के तहत करने के लिए एक बहुत ही आम बात है)? इसे पता स्थान में कहीं जाना है, इसलिए "प्रयुक्त" और "उपयोग नहीं किए गए" भागों को परिभाषित करने के कुछ साधन होना चाहिए।
साझा स्मृति (जो वास्तव में वास्तविक फ़ाइल के बिना फ़ाइल को मैप कर रही है) वही है। इसे कहीं जाना है, और ओएस को यह सुनिश्चित करना होगा कि यह कुछ ओवरराइट किए बिना इसे रख सके।
इसके अलावा, यह स्पष्ट (और कम स्पष्ट) दक्षता कारणों के संदर्भ के इलाके को बनाए रखने के लिए प्राथमिक है। अगर आपको अपने पता स्थान में किसी भी स्थान से लिखने और पढ़ने की अनुमति दी गई थी, तो आप शर्त लगा सकते हैं कि कुछ लोग ऐसा ही करेंगे।
4
के कई कारण है कि मन के लिए आते हैं की एक जोड़ी है: जब तुच्छ स्मृति
- अब आप segfaults मिलता था बड़ा हो सकता है, संभवतः यह स्थापित करने के लिए और अधिक समय की आवश्यकता होती है ऊपर
- आपको लगता है कि स्मृति के कुछ वैसे भी() कुछ
संबंधित मुद्दे
- 1. वर्चुअल मेमोरी
- 2. वर्चुअल मेमोरी?
- 3. वर्चुअल मेमोरी
- 4. एंड्रॉइड समर्थन वर्चुअल मेमोरी
- 5. दो वर्चुअल मेमोरी
- 6. .NET कचरा कलेक्टर और x64 वर्चुअल मेमोरी
- 7. उच्च वर्चुअल मेमोरी उपयोग + आईओएस
- 8. iPhone और iPad एप्लिकेशन रियल और वर्चुअल मेमोरी उपयोग
- 9. लिनक्स के तहत जावा से वर्चुअल मेमोरी उपयोग, बहुत मेमोरी
- 10. प्रोसेस एड्रेस स्पेस बनाम वर्चुअल मेमोरी
- 11. गार्डमॉलोक परिणामस्वरूप वर्चुअल मेमोरी थका हुआ
- 12. वर्चुअल वर्चुअल वर्चुअल वर्चुअल में बदलें और बाइनरी संगत
- 13. वेबसाइट और वर्चुअल निर्देशिका
- 14. वर्चुअल मेमोरी एड्रेस को भौतिक पते पर कैसे अनुवादित करें?
- 15. कर्नेल मोड और मेमोरी सुरक्षा
- 16. वर्चुअल मेमोरी के उपयोग को node.js द्वारा सीमित कैसे करें?
- 17. क्या वर्चुअल मेमोरी पेज आकार बदलना संभव है?
- 18. अपाचे को मेमोरी में ऑफ़सेट क्यों रखता है जहां php-cli वर्चुअल मेमोरी पतों रखता है?
- 19. VA (वर्चुअल पता) और RVA (सापेक्ष वर्चुअल पता)
- 20. सी # वर्चुअल और ओवरराइड कीवर्ड
- 21. रेल: find_by_sql और वर्चुअल कॉलम
- 22. वर्चुअल अधिभावी और छुपा कार्यों
- 23. निबर्ननेट और वर्चुअल क्लास गुण?
- 24. वर्चुअल विरासत और डरावना हीरा
- 25. संदर्भ चर और वर्चुअल फ़ंक्शन
- 26. वर्चुअल मेमोरी और संरेखण - वे एक साथ कैसे कारक करते हैं?
- 27. वर्चुअल मेमोरी आकार और लिनक्स सिस्टम के कैश आकार को कैसे ढूंढें?
- 28. वर्चुअल मेमोरी के संबंध में "गंदे" और "निवासी" का क्या अर्थ है?
- 29. वर्चुअल
- 30. कोर डेटा मेमोरी उपयोग और मेमोरी चेतावनी
"साझा स्मृति (जो वास्तव में सिर्फ एक वास्तविक फ़ाइल के बिना एक फ़ाइल मैपिंग कर रहा है unmap करने के लिए यदि आप एक नया साझा लाइब्रेरी या mmap में लोड होगा) एक ही है। इसे कहीं जाना है, और ओएस को यह सुनिश्चित करना होगा कि यह कुछ ओवरराइट किए बिना इसे रख सके। "मैं देखता हूं कि आप क्या कह रहे हैं (मुझे लगता है), क्योंकि मॉलोक एमएमएपी (अज्ञात और निजी के साथ) कॉल करता है, मुझे विश्वास है और यह हो सकता है sbrk को कॉल न करें, लेकिन यदि प्रोग्राम init malloc ने ब्रैक (4 जीबी) किया है तो यह sscall को sbrk आदि को हटा देता है .. लेकिन आप अतिरिक्त मेमोरी मैप फ़ाइलों को मैप नहीं कर सकते हैं या अलग-अलग झंडे के साथ साझा मेमोरी बना सकते हैं। ठीक है ... मुझे लगता है कि मैं –
को समझना शुरू कर रहा है "इसके अलावा, यह स्पष्ट (और कम स्पष्ट) दक्षता कारणों के संदर्भ के इलाके को बनाए रखने के लिए प्राथमिक है" लेकिन अगर मैं 1 जीबी से 4 जीबी ब्लॉक में कुछ मेमोरी लेता हूं और 4 जीबी ब्लॉक में 3.9 जीबी कहता हूं, तो शायद यह एक बार भौतिक स्मृति में बंद हो जाएं जब ताजा आवंटन सीजी में गलती हो जाती है (केवल सही शून्य से बाहर)? –
ऐसा हो सकता है, ऐसा नहीं हो सकता है। आप नहीं जान सकते। – Damon