2016-05-26 15 views
0

las ich eine einzeilige Erklärung von FAT # 2 von Peter Abels Buch IBM PC Assembly Language und Programmierung.Warum wird FAT # 2 selten verwendet?

Dort heißt es:

Obwohl FAT2 noch beibehalten wird, hat seine Verwendung nie umgesetzt worden.

Wikipedia sagt:

Die FAT-Region.

Dieses enthält in der Regel zwei Kopien der Dateizuordnungstabelle aus Gründen der Redundanzprüfung (variieren kann), wenn auch selten verwendet, auch von Reparatur-Dienstprogramme Platte.

ich von zwei gewichtige Gründe denken konnte, um es System

  1. Alle FAT zu verwenden hat man (wenn man es deaktiviert)
  2. Es built-in ist

Ich weiß, dass FAT ist ein sehr altes Dateisystem, aber warum FAT # 2 nie und selten implementiert hat?

+3

Klingt wie Unsinn, ein Dateisystem, das nie wirklich verwendet wurde, ist einfach zu pflegen. Tun Sie sich selbst einen Gefallen und lesen Sie die Rezensionen von amazon.com, bevor Sie Zeit in ein Buch investieren. "Wenn ich Peter Abel jemals in einer Bar getroffen habe, würde ich ein Getränk kaufen, nur um es ihm ins Gesicht zu schmeißen" ist keine ausgezeichnete Empfehlung :) –

+0

@HansPassant Viele Studenten, einschließlich mir, haben dies meinem Professor vorgeschlagen, aber stur wie er ist er habe seit ungefähr 10 Jahren mit diesem Buch unterrichtet. Also ... Wikipedia und Abel liegen falsch bei FAT2? –

+4

@HansPassant: Ich glaube nicht, dass die Referenz hier ist, dass _FAT2_ ist ein tatsächliches Dateisystem, ich glaube, dass es in Bezug auf die zweite FAT (Backup) -Tabelle ist. Ich dachte zuerst, dass das OP FAT12 bedeutete, aber dann erkannte, dass die primäre FAT-Tabelle als FAT1 und die Sicherung als FAT2 betrachtet wurde. Ich würde sagen, der Wortlaut von Abel macht das verwirrend :(. Ich hätte vielleicht bemerkt, was zuerst los war, wenn es als FAT # 2 (und FAT # 1) bezeichnet wurde. –

Antwort

4

Angenommen "FAT2" bedeutet eine zweite Kopie der FAT (File Allocation Table), dann ist das grundlegende Problem, dass es von geringem praktischen Nutzen ist, aber ich bin nicht sicher, ob es wahr ist, wenn es tatsächlich nie verwendet wird.

Die FAT ist eine zentrale Datenstruktur in dem FAT-Dateisystem, so zentral, dass das Dateisystem selbst nach ihm benannt ist. Es ist nicht nur eine Tabelle, von der Cluster zugewiesen wurden oder nicht, es speichert auch verknüpfte Listen der Cluster, aus denen jede Datei besteht. Wenn ein einzelner Sektor in der FAT beschädigt ist, könnte eine potenziell große Anzahl von Dateien verloren gehen, so dass jemand irgendwann dachte, es wäre eine gute Idee, eine Sicherungskopie der FAT zu haben.

Das Problem ist jedoch, wenn die FAT ist korrupt, wie sagen Sie, welche Kopie der FAT ist die richtige? Dies beschränkt die Nützlichkeit der Sicherungskopie auf Fälle, in denen das Lesen von der primären FAT zu Lesefehlern führt. Wenn das Betriebssystem beim Lesen einer Datei beim Lesen von FAT einen Fehler feststellt, könnte es zumindest in der Theorie die Sicherungskopie versuchen.

jedoch physische Datenträger Fehler sind nicht der einzige Weg, die FAT beschädigt sein könnte. Insbesondere Festplattenreparaturdienstprogramme wie chkdsk waren nicht wirklich darauf ausgelegt, Dateisystembeschädigungen durch Lesefehler zu beheben. Sie sollten nur die Beschädigung beheben, weil fehlerhafte Daten auf die Festplatte geschrieben wurden. Der häufigste Fall wäre, wenn der Computer während des Schreibens auf die Festplatte heruntergefahren wurde. In diesem Fall könnte das Dateisystem leicht inkonsistent sein. Insbesondere, wenn das Betriebssystem gerade dabei war, die FAT zu aktualisieren, hat es möglicherweise die primäre Kopie, aber nicht die Sicherungskopie aktualisiert, oder es hat möglicherweise die Sicherungskopie, aber nicht die primäre Kopie aktualisiert. Es gibt keine Möglichkeit zu wissen, was.

Ich bin mir nicht sicher, ob Betriebssysteme tatsächlich versuchen, die Backup-FAT nach Lesefehlern zu überprüfen. Es ist schwer zu sagen, weil es in der Praxis selten einen Unterschied macht. Lesefehler bei einzelnen Sektoren sind auf Festplatten in den letzten 20 Jahren ungewöhnlich, da sie fehlerhafte Sektoren neu zuordnen, bevor sie schlecht werden. Laufwerke haben in der Regel keine Datenträgerfehler, bis sie vollständig ausfallen.Sogar auf Disketten haben physische Diskettenfehler Auswirkungen auf ganze Tracks, wodurch beide FAT-Kopien gelöscht werden.

Betrachtet man die Quelle für die Linux- und FreeBSD-FAT-Dateisystemimplementierungen, so scheint es, als würde die Backup-FAT nicht versuchen, wenn das Lesen von der primären FAT fehlschlägt. Ich weiß nicht, was irgendeine der drei Hauptimplementierungen von Microsoft (MS-DOS, Windows 95 oder Windows NT) tut.