Pourquoi le fichier supprimé n'est-il pas réellement supprimé du disque dur?

8

À partir d' un article sur la récupération de fichiers, j'ai lu que lorsqu'un fichier est supprimé sur votre ordinateur, seul un pointeur vers le fichier est supprimé et l'espace occupé par le fichier est marqué comme libre d'utilisation. Est-ce la seule raison pour laquelle cela permet de récupérer des fichiers "supprimés" ou y a-t-il d'autres raisons pour lesquelles l'espace occupé n'est pas réellement supprimé (bits mis à zéro)?

John Nevermore
la source
Envisagez d'effacer les blocs utilisés par un fichier sur un support lent. FAT a été initialement conçu pour les disquettes, et même les disquettes sont devenues plus rapides à mesure que la technologie progressait. La possibilité de récupérer des fichiers supprimés est en grande partie un effet secondaire de la décision de ne pas écraser les données, et non l'inverse. Les systèmes de fichiers plus modernes (en particulier ceux dotés de la technologie de copie sur écriture: btrfs, zfs, ...) ont d'autres considérations (au moment où vous supprimez le fichier, vous pourriez même ne pas avoir un enregistrement de l'endroit où chaque copie a été stockée historiquement) , et vous ne voulez certainement pas doubler chaque écriture si vous n'êtes pas obligé).
un CVn

Réponses:

20

La raison de préférer la dissociation au lieu de mettre à zéro un fichier est la performance. Il est beaucoup plus facile de simplement mettre à zéro une variable dans la structure de données du système de fichiers plutôt que de commencer à écraser un fichier entier. Dans les systèmes de fichiers modernes, la dissociation du fichier prend un temps constant quelle que soit la taille du fichier, tandis que le temps passé à écraser un fichier est proportionnel à la taille du fichier.

zxcdw
la source
"La dissociation du fichier prend un temps constant quelle que soit la taille du fichier" - si cela est vrai dépend des structures de données utilisées pour gérer l'espace libre. De nombreux systèmes de fichiers plus anciens utilisent un bitmap bloc, où libérer de l'espace prend du temps proportionnel à la taille du fichier.
Michael Borgwardt
@MichaelBorgwardt Merci d'avoir modifié la réponse pour plus de clarté.
Je n'aurais pas pu mieux dire.
octopusgrabbus
8

Parce que cela prendrait beaucoup plus de temps et n'est pas nécessaire, sauf si vous souhaitez rendre impossible la récupération des fichiers supprimés, ce qui est rarement le cas.

Michael Borgwardt
la source
2
+1 pour "beaucoup plus de temps". Le système de fichiers n'a pas été conçu avec la mise à zéro des données comme exigence, mais il a été conçu pour être aussi rapide que possible.
Scott Whitlock