Forum: Mikrocontroller und Digitale Elektronik µController´s FAT Tutorial


von Jasson J. (jasson)


Lesenswert?

Hallo Forum,

ich eigne mir gerade, dass FAT Tutorial dieser Seite an
http://www.mikrocontroller.net/articles/AVR_FAT32
und mir bleiben doch noch einige Fragen.

1.) Die in Bild1 markierten Berreiche, befinden die sich IMMER an diesen 
Stellen? Ich brauche ja irgendeine á priori Information wenn ich bspw. 
SD Karten von Hersteller xy einstecke.

2.) Unter dem Abschnitt "Sektor 0 oder LBA"
1
Aus diesen Daten ergibt sich demnach:
2
3
     - 1. Sektor der 1. FAT ist Sektor 32 (Bild 2), also der erste
4
          Sektor nach der Anzahl der Reservierten (orange).
5
     - ==>>Der erste Daten Cluster ist 1003<<==, weil die Anzahl der
6
          FATs 1 ist, also einmal die Sektoren, die von einer FAT belegt
7
          werden (grün) (00003cb=971) 971 + 32 (orange) = 1003.
8
     - Das Root-Dir ist Cluster 2, also Sektor 1003.
9
     - Die Anzahl der Sektoren pro Cluster ist 4 (2048 Bytes/Cluster).
Müsste es nicht heißen, dass der erste Cluster bei Sektor 1003 beginnt?
Denn wenn ich von Cluster 1003 spreche, bin ich ja schon über 
1003*4=4012 Sektoren gesprungen, wenn ein Cluster 4 Sektoren beinhaltet.

3.) Begrifflichkeit von Sektor und Cluster.
Die Abbildungen haben mal einen Namen mit Sektor (Bild 1 und 2) und mal 
einen Namen mit Cluster (Bild 3 und 4).
Aus der Formulierung
"Folgendes Bild zeigt den ersten FAT-Sektor (512 Bytes) eines FAT32 
Dateisystems..."
entnehme ich, dass ein Sektor die 32x16 = 512 Bytes sind.
Die Formulierung
"Die Einträge 0-7 sind immer reserviert (Quasi Cluster 0 und 1)! Also 
beginnt die FAT ab 8 (rot, Cluster Nummer 2)." unter "Die FAT" verstehe 
ich nicht. Was meint Einträge 0 - 7; nur die erste Zeile gelesen oder 
vertikal, alle Zeilen die sich unter 0 - 7 befinden. Dann währen das ja 
die Cluster aber keine 512 Byte mehr...

viele Grüße,
JFG

von Karl H. (kbuchegg)


Lesenswert?

Jasson JFK schrieb:

> 2.) Unter dem Abschnitt "Sektor 0 oder LBA"
>
>
1
> Aus diesen Daten ergibt sich demnach:
2
> 
3
>      - 1. Sektor der 1. FAT ist Sektor 32 (Bild 2), also der erste
4
>           Sektor nach der Anzahl der Reservierten (orange).
5
>      - ==>>Der erste Daten Cluster ist 1003<<==, weil die Anzahl der
6
>           FATs 1 ist, also einmal die Sektoren, die von einer FAT belegt
7
>           werden (grün) (00003cb=971) 971 + 32 (orange) = 1003.
8
>      - Das Root-Dir ist Cluster 2, also Sektor 1003.
9
>      - Die Anzahl der Sektoren pro Cluster ist 4 (2048 Bytes/Cluster).
10
>
> Müsste es nicht heißen, dass der erste Cluster bei Sektor 1003 beginnt?
> Denn wenn ich von Cluster 1003 spreche, bin ich ja schon über
> 1003*4=4012 Sektoren gesprungen, wenn ein Cluster 4 Sektoren beinhaltet.

Meines Wissens gilt für die FAT diese willkürliche Zusammenfassung von 
Sektoren zu Clustern noch nicht.

Das ganze hat ja auch historische Wurzeln. Als die Festplatten/Disketten 
noch klein waren, braucht man keine Cluster. Es gab nur Sektoren und im 
LBA stand drinnen, wieviele Sektoren für die FAT reserviert sind. Erst 
als nach und nach die Platten größer wurden, brauchte man irgendwas um 
die immer größere Anzahl an Sektoren mit den vorhandenen Bits abbilden 
zu können, ohne das komplette System zu kippen. Der 'Mega-Sektor' oder 
eben 'Cluster' war geboren.

Den grundlegenden Aufbau des LBA bzw. der FAT konnte man aber nicht 
ändern, damit man rückwärtskompatibel blieb.


Grundsätzlich würde ich dir allerdings empfehlen eine 2.te Meinung 
einzuholen. Nichts gegen den Autor des Artikels, aber man kann eine 
Sache wie das FAT-Dateisystem, über welches halbe Bücher geschrieben 
wurden, nicht in 2 Bildschirmseiten erschöpfend behandeln. Ist auch ok 
so. Wenn dir in dem Artikel Dinge unklar sind, dann such auch mal im 
Web. Da finden sich noch viele andere Artikel, aus denen die Dinge 
klarer hervorgehen. Wenn du nett bist, dann ergänzt du hier im Artikel 
dann noch die Dinge, oder formulierst sie etwas um, die dir unklar waren 
und die du mit Hilfe anderer Seiten (und Verifizierung in der Praxis in 
Form von Code) für dich selbst geklärt hast.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.