क्या कोई समझा सकता है कि आश्रम क्यों बनाया गया था?असम के पास कौन सी विशेष शक्तियां हैं?
मैं अभी mm/ashmem.c
के माध्यम से ब्राउज़ कर रहा हूं। जैसा कि मैं कह सकता हूं, कर्नेल एस्हेम को फाइल-बैकड मेमोरी के रूप में सोच रहा है जिसे mmap'd किया जा सकता है। लेकिन फिर, आश्रम को लागू करने की परेशानी क्यों जाती है? ऐसा लगता है कि रैम एफएस को घुमाने और फिर स्मृति साझा करने के लिए फ़ाइलमैप/एमएमएपी का उपयोग करके एक ही कार्यक्षमता हासिल की जा सकती है।
मुझे यकीन है कि ashmem अधिक फैंसी सामान कर सकता है - कोड को देखने से, ऐसा लगता है कि पिनिंग/अनपिनिंग पृष्ठों के साथ कुछ करना है?
लेकिन ashmem फ़ाइल वर्णनकर्ताओं के माध्यम से साझा करने की आवश्यकता है। एक बैकिंग फ़ाइल बनाना और साझा करने के लिए प्रत्येक प्रक्रिया को एमएमएपी करने की इजाजत देना एक ही लक्ष्य पूरा करेगा, नहीं? मैं देखता हूं कि यह शम से बेहतर कैसे है लेकिन बैकिंग फ़ाइल होने से बेहतर कैसे है? –
यह बेहतर है क्योंकि, अच्छी तरह से, जब आप वास्तव में चाहते हैं तो फ़ाइल बनाना एक स्मृति का एक साझा टुकड़ा एक सर्किट, हैकी मार्ग है। (फ़ाइल डिस्क्रिप्टर का उपयोग करने के लिए अभी भी हैकी है, लेकिन वहां फ़ाइल रखने से कम हैकी भी है। फ़ाइल डिस्क्रिप्टर पहले से ही विभिन्न प्रकार के संसाधनों, जैसे सॉकेट और डिवाइस को सामान्यीकृत करते हैं।) – Kaz
वह पिनिंग और अनपिनिंग व्यवसाय आपको कैश को लागू करने देता है आपके एप्लिकेशन में मेमोरी जो स्मृति की आवश्यकता होने पर दूर हो जाएगी, इसी तरह कर्नेल बफर के लिए। एपीआई आपको बताता है कि क्या स्मृति को शुद्ध किया गया है (क्या आपके पास अभी भी आपका कैश है या नहीं)। – Kaz