यह मुझे फ्लश पर आवंटित की याद दिलाता है । जब कोई फ़ाइल सिस्टम इस सुविधा का उपयोग करता है, तो डेटा को डिस्क पर सीधे लिखने के बजाय, यह डिस्क के फ्री स्पेस काउंटर से लिखे जाने वाले डेटा के आकार को घटाता है, और डेटा को तब तक मेमोरी में रखता है जब तक कि सिंक सिस्टम कॉल नहीं किया जाता है या कर्नेल निर्णय नहीं लेता है गंदे बफ़र्स को फ्लश करने के लिए।
इस मामले में, यदि फ़ाइल को एक प्रक्रिया द्वारा संशोधित किया जा रहा है, और एक अन्य प्रक्रिया द्वारा खोला जाता है, तो बाद की प्रक्रिया फ़ाइल के " अनमॉडिफाइड ( या यदि आप चाहें तो" पुरानी ) "देखेंगे" ।
बेशक, उपरोक्त सैद्धांतिक हैं और विभिन्न कारकों पर निर्भर करते हैं, और मैं थोड़ा अप्रत्याशित कहूंगा कि जब आपको पता नहीं होगा कि कर्नेल गंदे पन्नों को कैसे बहा रहा है। उदाहरण के लिए लिनक्स में ( जैसा कि आप लिनक्स कर्नेल को समझने की धारा 15.3 में भी पढ़ सकते हैं ), गंदे पृष्ठ निम्नलिखित शर्तों के तहत डिस्क पर लिखे जाते हैं:
पृष्ठ कैश बहुत अधिक भरा हुआ है और अधिक पृष्ठों की आवश्यकता है, या गंदे पृष्ठों की संख्या बहुत बड़ी हो गई है।
एक पृष्ठ गंदा रहने के बाद से बहुत अधिक समय बीत चुका है।
एक प्रक्रिया ब्लॉक डिवाइस या किसी विशेष फ़ाइल के सभी लंबित परिवर्तनों का निस्तारण करने का अनुरोध करती है; यह सिंक (), fsync (), या fdatasync () सिस्टम कॉल को लागू करके करता है।
यह सुविधा HFS +, XFS, Reiser4, ZFS, Btrfs और ext4 फाइल सिस्टम में लागू होने के लिए जानी जाती है।