นี้ทำให้ผมนึกถึงจัดสรรในฟลัช เมื่อระบบไฟล์ใช้คุณสมบัตินี้แทนที่จะเขียนข้อมูลลงดิสก์โดยตรงมันจะลบขนาดของข้อมูลที่จะเขียนจากตัวนับพื้นที่ว่างของดิสก์และเก็บข้อมูลไว้ในหน่วยความจำจนกว่าจะทำการเรียกระบบซิงค์หรือเคอร์เนลตัดสินใจ เพื่อล้างบัฟเฟอร์สกปรก
ในกรณีนี้หากไฟล์ถูกแก้ไขโดยหนึ่งกระบวนการและได้รับการเปิดโดยกระบวนการอื่นกระบวนการหลังจะ "ดู" เวอร์ชันที่ไม่ได้แก้ไข ( หรือ "เก่า" หากคุณต้องการ ) เวอร์ชันของไฟล์
แน่นอนข้างต้นเป็นทฤษฎีและขึ้นอยู่กับปัจจัยต่าง ๆ และฉันจะบอกว่าคาดเดาไม่ได้เพราะคุณไม่รู้ว่าเมื่อเคอร์เนลจะล้างหน้าสกปรก ตัวอย่างเช่นใน Linux ( ตามที่คุณสามารถอ่านได้ในส่วนที่ 15.3 ของการทำความเข้าใจกับเคอร์เนล Linux ) หน้าสกปรกจะถูกเขียนไปยังดิสก์ภายใต้เงื่อนไขต่อไปนี้:
แคชของหน้าเต็มเกินไปและจำเป็นต้องมีหน้ามากขึ้นหรือจำนวนหน้าสกปรกมีขนาดใหญ่เกินไป
เวลาผ่านไปนานเกินไปเนื่องจากหน้าเว็บสกปรก
กระบวนการร้องขอการเปลี่ยนแปลงที่รอดำเนินการทั้งหมดของอุปกรณ์บล็อกหรือไฟล์เฉพาะที่จะล้างข้อมูล ทำได้โดยเรียกใช้การเรียกระบบ sync (), fsync () หรือ fdatasync ()
คุณสมบัตินี้เป็นที่รู้จักกันในการใช้งานในระบบไฟล์ HFS +, XFS, Reiser4, ZFS, Btrfs และ ext4