file system analyse



  • Hallo.

    Hoffe ich poste gerade im richtig, falls nicht entschuldigt.

    Ich befasse mich momentan mit FAT32 und wuerde gern mehr darueber herausfinden wie z.B. Methoden wie chkdsk oder fsck arbeiten um ein FAT32 Medium auf korrupte und inkonsistente Daten zu pruefen.

    Kann mir eventuell jemand ein Buch empfehlen welches die Arbeitsweise und das vorgehen ein wenig genauer beschreibt?

    Meine ueberlegung war, um die einzelnen Directoryeintraege zu pruefen, eine Baumstruktur anzulegen(entweder einen Binary-Tree 'vergewaltigen' oder einen B+-Tree benutzen) und in dieser alle relevanten Daten zu sichern.
    Der Grund dafuer ist, dass ich nur einen begrenzten sehr kleinen Speicherbereich zur Verfuegung habe und das Medium welches ich pruefen will eine in FAT32 formatierte Speicherkarte ist auf die ich so wenig wie moeglich lesend als auch schreibend zugreifen will. Wenn der Baum erstellt is, moechte ich diesen durchlaufen und meine checks durchfuehren. Ob das allerdings eine intelligente Loesung ist weiss ich nicht.

    Bin euch fuer jede Antwort dankbar.

    Rastsi



  • Rastsi schrieb:

    Meine ueberlegung war, um die einzelnen Directoryeintraege zu pruefen, eine Baumstruktur anzulegen(entweder einen Binary-Tree 'vergewaltigen' oder einen B+-Tree benutzen) und in dieser alle relevanten Daten zu sichern.
    Der Grund dafuer ist, dass ich nur einen begrenzten sehr kleinen Speicherbereich zur Verfuegung habe...

    naja, irgendwelche bäume aufzubauen, obwohl der speicher sehr begrenzt ist, hört sich nicht nach einer tollen idee an.
    🙂



  • eben, das würde voraussetzte, dass dein Arbeitsspeicher größer ist, als die Daten im Flash



  • vlad_tepesch schrieb:

    eben, das würde voraussetzte, dass dein Arbeitsspeicher größer ist, als die Daten im Flash

    nö. pro sektor ein byte, pro verzeichniseintrag 300 bytes oder sowas. ist weniger als pro sektor 512 bytes.

    den gesamten verzeichnisbaum ins ram zu knallen, ist wohl unverzichtbar, wenn man auch sachen wie zyklische verzeichnisstrukturen aufdecken will. den flash-speicher als auslagerungsspeicher zu nehmen, ist auch ok, solange nur einmal oder selten geschrieben wird und lesen kann man ja eher ungestraft.



  • Ich hatte mir das folgendermassen ueberlegt.
    Da ein Verzeichniseintrag 32 byte belegt, darin aber Information wie Erstelldatum, Name etc. beinhaltet sind, wollte Ich in jedem Knoten meines Baumes lediglich folgendes speichern:

    -die eigentliche Clusternummer meines Verzeichnisses(um die Clusterkette aus dem FAT zu bekommen)
    -einen Zeiger auf das linke Kind, das erste in meinem aktuellen Verzeichnis enthaltene File/Directory
    -einen Zeiger auf das rechte Kind, ein File/Directory welches im gleichen Parentdirectoy liegt
    -das Attribut des Eintrags
    -die Groesse des Eintrags
    -einen Index, welchen ich benutzen kann um den Parent zu identifizieren(erkl. kommt gleich)

    In einem Array wuerde ich die ParentClusterNummern ablegen, welche ich jederzeit ueber den Index wieder auslesen kann.

    In einem Bitarray wuerde ich die bereits gelesenen Cluster vermerken um z.B. zyklische Strukturen zu erkennen.

    Die Fehlererkennung denke ich mir koennte so funktionieren, die Fehlerbehebung waere der naechste Schritt.

    Danke fuer die bisherigen Antworten, aber gibt es zu dem ganzen Thema vllt auch ein Dokument/Buch?


Anmelden zum Antworten