Почему удаленный файл фактически не удален с жесткого диска?

8

Из статьи о восстановлении файлов я прочитал, что когда файл удаляется на вашем компьютере, удаляется только указатель на файл, а пространство, занимаемое файлом, помечается как свободное для использования. Является ли это единственной причиной для восстановления «удаленных» файлов или есть другие причины, по которым занимаемое пространство фактически не удаляется (биты установлены в ноль)?

Джон Невермор
источник
Попробуйте стереть блоки, используемые файлом на медленном носителе. Первоначально FAT был разработан для дискет, и даже дискеты становились быстрее по мере развития технологий. Возможность восстановления удаленных файлов в значительной степени является побочным эффектом решения не перезаписывать данные, а не наоборот. Более современные файловые системы (особенно те, которые используют технологию копирования при записи: btrfs, zfs, ...) имеют другие соображения (к тому времени, когда вы удаляете файл, у вас может даже не быть записи о том, где каждая копия хранилась исторически и вы, конечно, не хотите удваивать каждую запись, если вам не нужно).
CVN

Ответы:

20

Причиной предпочтения удаления ссылок вместо обнуления файла является производительность. Гораздо проще просто обнулить переменную в структуре данных файловой системы, чем начинать перезапись всего файла. В современных файловых системах удаление ссылок с файла занимает постоянное количество времени независимо от размера файла, тогда как время, затрачиваемое на перезапись файла, пропорционально размеру файла.

zxcdw
источник
«Отмена связи с файлом занимает постоянное количество времени независимо от размера файла» - зависит ли это от структуры данных, используемых для управления свободным пространством. Многие старые файловые системы используют растровое изображение блока, где освобождение места занимает время, пропорциональное размеру файла.
Майкл Боргвардт
@MichaelBorgwardt Спасибо, изменил ответ для ясности.
Не мог бы сказать это лучше.
октября
8

Потому что это займет гораздо больше времени и не нужно, если вы не хотите, чтобы восстановление удаленных файлов было невозможным, что редко бывает.

Майкл Боргвардт
источник
2
+1 за "гораздо больше времени". Файловая система не была разработана с обнулением данных в качестве требования, но она была разработана, чтобы быть максимально быстрой.
Скотт Уитлок