Der Martin: NTFS vs. FAT

Beitrag lesen

Hi,

Das Aufbauen eines kompletten Verzeichnislistings dauert daher nicht wirklich länger als das Öffnen einer Datei, die zufällig physikalisch weit hinten im Verzeichnis steht.

Kannst Du diese These belegen?

nicht wirklich; ich bin von der allgemeinen Microsoft-Philosophie ausgegangen, möglichst fest an bewährten Dingen festzuhalten und möglichst wenig zu verändern. Davon ausgehend habe ich angenommen, dass NTFS zwar zusätzliche Felder pro Verzeichniseintrag hat (z.B. wegen der Besitzer- und Rechteverwaltung), aber ansonsten beim FAT-Konzept bleibt, alle Datei-Metadaten in einem Record zusammenzuhalten.
Und FAT12/16/32 kenne ich sehr intim. 😉

Die MFT ist eine Relationale DB, die als B-Tree organisiert ist. Steht hier, ein Dokument aus einer Zeit, als Microsoft noch richtige Dokumentationen erstellte und veröffentlichte.

Das ist ja mal interessant!

D.h. wenn ich weiß, dass die Datei "Martins Bericht.doc" heißt und im Ordner "C:\Users\Martin\Documents" steht, springt NTFS relativ zügig über den B-Tree zur Datei "Martins Bericht.doc".

Wenn ich "C:\Users\Martin\Documents" auflisten will, wird es komplizierter, denn dann muss ich über den Folder Index gehen. Solange ich nur Namen suche, ist das ein Index Scan und fix, aber wenn ich auch Datei-Infos brauche, damm denke ich, dass man dann für jede gefundene Datei in die File Table einsteigen und sie holen muss.

Schon, aber wenn ich das richtig verstanden habe, dann ist doch ein Verzeichnislisting auch nichts weiter als ein Table Scan mit dem Elternverzeichnis als Suchkriterium, bei dem man für jede Row als Treffer die weiteren Columns ausliest. Klingt für mich auch nicht nach großem Aufwand.

Aber immerhin mehr Aufwand als bei FAT, wo man nur den Einstiegspunkt finden muss, wo die dem Verzeichnis entsprechende Clusterkette anfängt, und dann Cluster für Cluster, Record für Record stur alle Einträge sequentiell durchgeht, ohne noch weiter filtern zu müssen - es sei denn, man hat ein Suchmuster für die Dateinamen angegeben.

Dass die Anzeige des Verzeichnislistings im Explorer erst mit Verzögerung kommt, liegt aber auch daran, dass der immer nach irgendeinem Kriterium sortieren will, und deshalb erst alle gefundenen Einträge sammeln muss. Seit es Windows gibt, habe ich mir schon immer eine Explorer-Ansicht "unsortiert" gewünscht, also einfach in der Reihenfolge, in der die Einträge physikalisch auf dem Datenträger vorliegen.
Die mir bekannten Dateimanager unter Linux können das auch alle nicht.

Live long and pros healthy,
 Martin

--
Hunde, die bellen, beißen nicht.
Jedenfalls nicht gleichzeitig.