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