📄 g_fat_intro.htm
字号:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<p><font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#006666">Einführung
in die File Allocation Table (FAT)</font></b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Jede Diskette
oder Festplatte, die nach dem FAT Dateisystem formatiert wurde, ist folgendermaßen
aufgebaut:</font></p>
<table width="93%" border="0">
<tr>
<td width="64%"><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><img src="fat_disk.jpg" width="400" height="405"></font></td>
<td width="36%">
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#006666">Der
Datei-Schreibvorgang</font><font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><br>
Das Betriebssystem schreibt Systeminformationen,wie die Dateigröße,
die erste Cluster-Nummer in den Directory-Eintrag, die Positionsinformationen
in den FAT, und die Daten selbst in den Datenbereich.<br>
<br>
<font color="#006666">Der Datei-Lesevorgang</font> <br>
(1) Systeminformationen, wie Dateiname, Größe und erste Cluster-Nummer
werden aus dem Directory-Eintrag ermittelt<br>
(2) Weitere Cluster-Nummern werden aus der Dateizuordnungstabelle (FAT)
ausfindig gemacht und die entsprechenden Cluster im Datenbereich eingelesen</font></p>
<p> </p>
</td>
</tr>
</table>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Das Dateisystem
besteht aus einer Anzahl von speziellen Bereichen für die Verwaltung des
Datenträgers, die erstellt werden, wenn der Datenträger formatiert
wird: der Master Boot Record, die Partitionstabelle,der Boot Record, die Dateizuordnungstabelle
(danach ist das FAT System benannt worden), und das Wurzelverzeichnis (Root
directory). Auf unterster Ebene gesehen, sind Disketten und Festplatten eingeteilt
in Gruppen von 512 Bytes, sogenannte Sektoren. Das FAT System reserviert für
Dateien Speicherplatz in Form von mehreren Sektoren, <b>Cluster </b>gennant.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Der <b>Boot Record</b>
ist ein Sektor, der Programmcode enthält, welcher vom Computer ausgeführt
wird. Der Master Boot Record ist der erste Boot Record, den der Computer beim
ersten Zugriff auf die Festplatte ausführt. Darüber hinaus enthält
ein Boot Record wichtige Informationen über das FAT Dateisystem, z.B. die
Clustergröße, die Positionen von Dateizuordnungstabelle (FAT), Datenbereich
(data area) und dem Wurzelverzeichnis (root).</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Die Dateizuordnungstabelle
(<b>FAT</b>), die sich hinter dem Boot Record befindet stellt eine Datenbank
dar, welche Cluster-Speicherplatz mit Dateien assoziiert. Sie enthält einen
Eintrag (jeder 12,16 oder 32 Bits groß) für jeden Cluster. Da die
ersten zwei Einträge für das Dateisystem reserviert sind, ordnet man
dem dritten und den folgenden Einträgen den Cluster-Speicherplatz zu (<b>Datenbereich,
data area</b>). Dateien, die im Datenbereich abgespeichert werden, müssen
nicht unbedingt aufeinander folgende Cluster belegen und daher muß das
Betriebssystem (operating system, OS) wissen, wo sich die komplette Datei im
Datenbereich befindet. Das ist die Aufgabe des FAT. Für jeden Cluster,
der von der Datei verwendet wird und nicht der letzte Cluster ist, enthält
der FAT-Eintrag die Nummer des nächsten Cluster, welche von der Datei belegt
ist. Wenn ein Programm dem Betriebssystem mitteilt, auf eine Datei zugreifen
zu wollen, muß das Betriebssystem zunächst den ersten Cluster der
Datei lesen. Dann schaut es in dem korrespondierenden ersten Eintrag im FAT
nach, um die nächste Cluster-Nummer zu ermitteln, bei welcher die Datei
fortgesetzt wird. Nun liest es den im Datenbereich assoziierten Cluster und
nachdem auch dieser vollständig gelesen wurde, wiederholt das Betriebssystem
diese Methode solange, bis die komplette Datei gelesen wurde. Diese Art der
Organisation in Form einer Kette nennt man auch FAT-Kette (FAT chain).</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">FAT Einträge
können ein paar spezielle Werte enthalten, um anzuzeigen, daß</font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">der Cluster
frei ist-also nicht von einer Datei belegt ist (0000H für FAT16)</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"> der Cluster
ein oder mehrere Sektoren enthält, die physikalisch beschädigt sind
und nicht verwendet werden sollen (FFF7H für FAT16)</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"> der Cluster
der letzte einer Datei ist (FFF8-FFFFH für FAT16), auch End Of File (EOF)
gennant</font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Aber woher weiß
eigentlich das Betriebssystem, welche Dateien auf einer Festplatte sind, und
wie findet es den ersten Cluster heraus? Genau das ist der die Aufgabe der <b>Directory-Einträge
(directory entries)</b>, welche ebenfalls im Datenbereich abgelegt sind. Jeder
Directory-Eintrag hat eine Größe von 32 Byte und bietet folgende
Informationen über eine Datei oder einen Ordner: Datei- oder Ordnername,
Größe, erste Cluster-Nummer und seine Attribute. </font></p>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -