मुझे एक बहुत मुश्किल समस्या का सामना करना पड़ रहा है। मैं एक ही भौतिक स्मृति को इंगित करने वाले 2 आभासी स्मृति क्षेत्रों को प्राप्त करने का प्रयास कर रहा हूं। बिंदु विभिन्न मेमोरी क्षेत्रों पर अलग-अलग पेज सुरक्षा पैरामीटर रखना है।लिनक्स पर एक ही भौतिक स्मृति पर दो वर्चुअल एड्रेस को कैसे मैप करें?
इस मंच पर, उपयोगकर्ता एक समाधान है लगता है, लेकिन यह थोड़े hacky लगता है और यह बहुत स्पष्ट है कि कुछ बेहतर किया जा सकता है है प्रदर्शन के लिहाज से: http://www.linuxforums.org/forum/programming-scripting/19491-map-two-virtual-memory-addres-same-physical-page.html
मैं एक ही समस्या का सामना कर रहा हूँ के रूप में, मैं यह जानने के लिए यहां एक शॉट देना चाहता हूं कि किसी के पास बेहतर विचार है या नहीं। हुड के पीछे गंदे विवरण का जिक्र करने से डरो मत, यह सवाल यही है।
अग्रिम धन्यवाद।
देखना यह और भी बदतर है। यदि MAP_SHARED निर्दिष्ट किया गया है, तो IO की आवश्यकता होगी और यदि MAP_PRIVATE सेट किया गया है, तो लिखने पर प्रतिलिपि चाल को निष्क्रिय कर देगा। समाधान में थ्रेड में प्रस्तावित समाधान की तुलना में एक ही कमी है: इस साझा स्मृति को अनियंत्रित तरीके से प्रक्रिया में पार किया जाता है। – deadalnix
@deadalnix: सिस्टम वी एसएचएम पर एक नोट जोड़ा गया। AFAIK हैं, उपयोगकर्ता स्थान में ऐसा करने के अन्य तरीके नहीं हैं। –
@ लार्समार> हाँ सिस्टम वी कॉल लिंक में सुझाए गए हैं। यह काम कर रहा है, लेकिन स्मृति को किसी अन्य प्रक्रिया द्वारा आसानी से लगाया जा सकता है, जो सुरक्षा पर समस्याग्रस्त है। – deadalnix