เนื่องจากคุณกำลังพูดถึง "การบันทึกไฟล์" ดังนั้นไฟล์จะไม่ถูกแก้ไขบนดิสก์
ด้วยไฟล์ในระบบไฟล์ปกติมีสองสิ่งที่ควรพิจารณา มีรายการไดเรกทอรีแล้วมีข้อมูลไฟล์จริงอยู่ที่ใดที่หนึ่งบนดิสก์
เมื่อคุณแก้ไขไฟล์ในโปรแกรมแก้ไขปกติมันจะโหลดข้อมูลไฟล์ลงใน RAM และการแก้ไขใด ๆ ก็จะเกิดขึ้นกับสำเนาของข้อมูลนั้น จากนั้นเมื่อคุณบันทึกไฟล์มีสองตัวเลือกโดยทั่วไป:
ตัวเลือกที่ 1: ไฟล์ต้นฉบับถูกเปลี่ยนชื่อดังนั้นทั้งรายการไดเรกทอรีดั้งเดิมและข้อมูลต้นฉบับจะยังคงอยู่บนดิสก์ การเปลี่ยนชื่ออาจเช่นเปลี่ยนคำต่อท้ายไฟล์เป็น.bak
(ลบ.bak
ไฟล์ก่อนหน้าใด ๆโดยปกติ) จากนั้นจะสร้างไฟล์ใหม่และเขียนข้อมูลจากหน่วยความจำที่นั่น
ตัวเลือก 2: รายการไดเร็กทอรีดั้งเดิมถูกแก้ไขดังนั้นไฟล์จะถูกตัดให้เหลือ 0 ความยาว พื้นที่บนดิสก์ที่ใช้สำหรับข้อมูลไฟล์จะถูกทำเครื่องหมายว่าไม่ได้ใช้ แต่เนื้อหาไฟล์เก่าจะยังคงอยู่บนดิสก์จนกว่าจะถูกเขียนทับ จากนั้นจึงเขียนข้อมูลใหม่ ในกรณีนี้รายการไดเรกทอรียังคงอยู่ข้อมูลที่ชี้ไปจะเปลี่ยนไป
มีรูปแบบที่เป็นไปได้สองสามแบบโดยทั่วไปข้อมูลที่ถูกแก้ไขจะถูกจัดเก็บเป็นไฟล์ชั่วคราวเป็นครั้งแรกดังนั้นหากคอมพิวเตอร์ของคุณเกิดปัญหา ณ จุดนี้ไฟล์ต้นฉบับอาจไม่เสียหาย จากนั้นไฟล์ต้นฉบับจะถูกลบและไฟล์ใหม่จะถูกเปลี่ยนชื่อด้วยชื่อที่ถูกต้อง หรือไฟล์ต้นฉบับสามารถลบได้ก่อนที่จะเขียนไฟล์ใหม่
ดังนั้นทฤษฎีของคุณ 1 จึงใกล้เคียงกับสิ่งที่ผู้แก้ไขส่วนใหญ่ทำ
จากนั้นมีกรณีพิเศษ สิ่งที่ชัดเจนที่สุดคือตัวแก้ไขดิสก์ซึ่งอนุญาตให้อ่านและเขียนทับไบต์บนดิสก์โดยตรง อีกไฟล์หนึ่งอาจเป็นไฟล์ฐานข้อมูลที่เรคคอร์ดอาจมีขนาดคงที่ดังนั้นจึงง่ายที่จะเขียนทับเรคคอร์ด แต่ข้อมูลไม่สามารถต่อท้ายตรงกลางไฟล์ได้ดังนั้นการแก้ไขไฟล์ข้อความหรือไฟล์อื่น ๆ ที่ความยาวของข้อมูลที่อยู่ตรงกลางของไฟล์นั้นเปลี่ยนไปโดยทั่วไปเทคนิคเหล่านี้ไม่สามารถใช้งานได้จริง
ดังนั้นทฤษฎีของคุณ 2 จึงเป็นไปได้ในบางกรณี แต่โปรแกรมแก้ไขข้อความทั่วไปและไม่ทำเช่นนั้น