संरेखण और ग्रैन्युलरिटी specification of mmap द्वारा मुझे उलझन में है।एमएमएपी
pa
mmap (विनिर्देश के समान)
पा = mmap (addr, लेन, prot, झंडे, fildes, बंद) की वापसी पता होने दो;
समारोह कॉल के बाद मेरी राय निम्न श्रेणी सफल होने में मान्य है
[पा, पा + लेन)
मेरा प्रश्न है कि क्या निम्नलिखित की सीमा है अब भी मान्य?
[round_down (PA, pagesize), round_up (PA + लेन, pagesize))
[आधार, लघु
के लिए आधार + आकार] कहने के लिए है कि:
base
हमेशा पृष्ठ सीमा पर गठबंधन है?size
हमेशा पेजसाइज का एक बहु है (ग्रैन्युलरिटी दूसरे शब्दों में पृष्ठबद्ध है)?
आपकी सहायता के लिए धन्यवाद।
मुझे लगता है कि इस अनुच्छेद में निहित है:
बंद तर्क जब _SC_PAGESIZE या _SC_PAGE_SIZE पारित कर दिया sysconf() द्वारा दिए गए मान के अनुसार गठबंधन और आकार होने के लिए विवश है। जब MAP_FIXED निर्दिष्ट किया गया है, तो एप्लिकेशन यह सुनिश्चित करेगा कि तर्क addr भी इन बाधाओं को पूरा करता है। कार्यान्वयन पूरे पृष्ठों पर मानचित्रण संचालन करता है। इस प्रकार, जबकि तर्क लेन को किसी आकार या संरेखण बाधा को पूरा करने की आवश्यकता नहीं होती है, कार्यान्वयन में किसी मैपिंग ऑपरेशन में, श्रेणी [pa, pa + len) द्वारा निर्दिष्ट किसी भी आंशिक पृष्ठ शामिल होगा।
लेकिन मुझे यकीन नहीं है और मुझे पॉज़िक्स पर अधिक अनुभव नहीं है।
- कृपया मुझे कुछ और स्पष्ट और अधिक निश्चित सबूत
- दिखाने या मुझे कम से कम एक दिखाने प्रणाली है जो POSIX समर्थन करता है और अलग व्यवहार
धन्यवाद फिर से है।