Como está hablando de "guardar el archivo", el archivo no se editará in situ en el disco.
Con un archivo en un sistema de archivos habitual, hay dos cosas a tener en cuenta. Existe la entrada del directorio, y luego están los datos del archivo real en algún lugar del disco.
Cuando edita un archivo en un editor normal, cargará los datos del archivo en la RAM y cualquier edición se realizará en esa copia de los datos. Luego, cuando guarda el archivo, existen básicamente dos opciones:
Opción 1: se cambia el nombre del archivo original , por lo que tanto la entrada del directorio original como los datos originales permanecerán en el disco. El cambio de nombre podría, por ejemplo, cambiar el sufijo del archivo a .bak
( .bak
generalmente, eliminar cualquier archivo anterior ). Luego se crea un nuevo archivo y los datos de la memoria se escriben allí.
Opción 2: la entrada del directorio original se modifica para que el archivo se trunca a 0 de longitud. El área del disco utilizada para los datos del archivo se marcará como no utilizada, pero el contenido del archivo antiguo permanecerá en el disco hasta que se sobrescriba. Luego se escriben nuevos datos. En este caso, la entrada del directorio permanece, solo cambian los datos a los que apunta.
Hay algunas variaciones posibles, una común, los datos editados se almacenan primero en un archivo temporal, por lo que si su computadora falla en este punto, es probable que el archivo original no se dañe. Luego, el archivo original se elimina y el nuevo archivo se renombra con el nombre correcto. O bien, el archivo original podría eliminarse antes de escribir el nuevo.
Entonces su teoría 1 está cerca de lo que hacen la mayoría de los editores.
Luego hay casos especiales. El más obvio es un editor de disco, que permite leer y sobrescribir bytes directamente en el disco. Otro podría ser un archivo de base de datos, donde los registros pueden tener un tamaño fijo, por lo que es fácil sobrescribir un registro. Pero los datos no se pueden agregar en el medio de un archivo y, por lo tanto, editar archivos de texto o cualquier otro archivo donde la longitud de los datos en el medio del archivo cambie comúnmente, estos trucos realmente no se pueden usar.
Por lo tanto, su teoría 2 es posible en algunos casos, pero los editores de texto normales y otros no lo hacen.