⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g_fat_intro.htm

📁 国外著名恢复软件Drive_Rescue 公布的早期源码 版本是1.8 delphi6环境开发的。
💻 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&uuml;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&szlig;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&ouml;&szlig;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&ouml;&szlig;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>&nbsp; </p>
      </td>
  </tr>
</table>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Das Dateisystem 
  besteht aus einer Anzahl von speziellen Bereichen f&uuml;r die Verwaltung des 
  Datentr&auml;gers, die erstellt werden, wenn der Datentr&auml;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&uuml;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&auml;lt, welcher vom Computer ausgef&uuml;hrt 
  wird. Der Master Boot Record ist der erste Boot Record, den der Computer beim 
  ersten Zugriff auf die Festplatte ausf&uuml;hrt. Dar&uuml;ber hinaus enth&auml;lt 
  ein Boot Record wichtige Informationen &uuml;ber das FAT Dateisystem, z.B. die 
  Clustergr&ouml;&szlig;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&auml;lt einen 
  Eintrag (jeder 12,16 oder 32 Bits gro&szlig;) f&uuml;r jeden Cluster. Da die 
  ersten zwei Eintr&auml;ge f&uuml;r das Dateisystem reserviert sind, ordnet man 
  dem dritten und den folgenden Eintr&auml;gen den Cluster-Speicherplatz zu (<b>Datenbereich, 
  data area</b>). Dateien, die im Datenbereich abgespeichert werden, m&uuml;ssen 
  nicht unbedingt aufeinander folgende Cluster belegen und daher mu&szlig; das 
  Betriebssystem (operating system, OS) wissen, wo sich die komplette Datei im 
  Datenbereich befindet. Das ist die Aufgabe des FAT. F&uuml;r jeden Cluster, 
  der von der Datei verwendet wird und nicht der letzte Cluster ist, enth&auml;lt 
  der FAT-Eintrag die Nummer des n&auml;chsten Cluster, welche von der Datei belegt 
  ist. Wenn ein Programm dem Betriebssystem mitteilt, auf eine Datei zugreifen 
  zu wollen, mu&szlig; das Betriebssystem zun&auml;chst den ersten Cluster der 
  Datei lesen. Dann schaut es in dem korrespondierenden ersten Eintrag im FAT 
  nach, um die n&auml;chste Cluster-Nummer zu ermitteln, bei welcher die Datei 
  fortgesetzt wird. Nun liest es den im Datenbereich assoziierten Cluster und 
  nachdem auch dieser vollst&auml;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&auml;ge 
  k&ouml;nnen ein paar spezielle Werte enthalten, um anzuzeigen, da&szlig;</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&uuml;r FAT16)</font></li>
  <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"> der Cluster 
    ein oder mehrere Sektoren enth&auml;lt, die physikalisch besch&auml;digt sind 
    und nicht verwendet werden sollen (FFF7H f&uuml;r FAT16)</font></li>
  <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"> der Cluster 
    der letzte einer Datei ist (FFF8-FFFFH f&uuml;r FAT16), auch End Of File (EOF) 
    gennant</font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">Aber woher wei&szlig; 
  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&auml;ge 
  (directory entries)</b>, welche ebenfalls im Datenbereich abgelegt sind. Jeder 
  Directory-Eintrag hat eine Gr&ouml;&szlig;e von 32 Byte und bietet folgende 
  Informationen &uuml;ber eine Datei oder einen Ordner: Datei- oder Ordnername, 
  Gr&ouml;&szlig;e, erste Cluster-Nummer und seine Attribute. </font></p>
<p>&nbsp;</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -