FAT ist die einzige bedeutende Neuerung von QDOS gegenüber CP/M. Nach langen Rechtsstreitigkeiten und einem zweijährigen Patentierungsverfahren wurde am 10. Januar 2006 das Patent und die damit verbundene enorme Marktmacht für FAT (FAT12, -16, -32 etc.) der Herstellerfirma Microsoft zugesprochen. Das deutsche Bundespatentgericht erklärte eines der beiden diesen Schutz begründenden Patente, bzgl. eines gemeinsamen Speicherbereiches für lange und kurze Dateinamen – DE 69429378 bzw. EP 0618540 – jedoch durch ein Urteil vom 26. Oktober 2006 – Akz. 2 Ni 2/05 (EU) – als für Deutschland nichtig Das inhaltlich äquivalente US Patent dazu (US 5,758,352) besteht nach momentanem Stand (März 2009) noch weiter bis zum 5. September 2016, gilt aber nur innerhalb der USA.
Zu der Familie der FAT-Dateisysteme gehören:
-
FAT12 – wird heute für jede DOS-Diskette verwendet (auch unter Windows)
-
FAT16 – wird heute meist auf allen Arten von mobilen Datenträgern (außer Disketten) mit einer Größe von bis zu 2 GB verwendet.
-
FAT32 – wird z. B. in allen Arten von mobilen Speichern von mehr als 2 GB Kapazität genutzt. Von neueren DOS-Systemen unterstützt. Microsoft Windows 2000 und neuere Windows-Versionen unterstützen FAT32 ebenfalls.
-
FATplus – Erweiterung für FAT16 (theoretisch) und FAT32, erhöht die maximale Größe einer Datei von 4 GB auf 256 GB (Wird derzeit unter anderem von Enhanced DR-DOS und Deskwork unterstützt)
-
(VFAT)
-
exFAT – (Extended File Allocation Table) ist ein Dateisystem, welches speziell für Flash-Speicher entwickelt wurde. Maximale Dateigröße 16 Exabyte. Unterstützt Rechtevergabe auf Dateisystemebene.
|
System |
FAT12 |
vFAT16 |
FAT32 |
NTFS |
HPFS |
|
DOS 5.x |
X |
X |
|
|
|
|
DOS 6.x |
X |
X |
|
|
|
|
Windows 95 |
X |
X |
|
|
|
|
Windows 95 A |
X |
X |
|
|
|
|
Windows 95 B / C |
X |
X |
X |
|
|
|
Windows 98 |
X |
X |
X |
|
|
|
Windows 98 ME /SE |
X |
X |
X |
|
|
|
Windows NT 3.x |
X |
X |
|
X |
X |
|
Windows NT 4.0 |
X |
X |
|
X |
|
|
Windows 2000 |
X |
X |
X |
X |
|
|
Windows XP |
X |
X |
X |
X |
|
FAT12
Mit der 1980 erschienenen ersten Version von QDOS wurde FAT als Dateisystem eingeführt. Anfangs wurden keine Unterverzeichnisse verwaltet. Dies änderte sich mit MS-DOS Version 2.0.
FAT12 wird nur auf Datenträgern bzw. Partitionen bis zu einer Größe von 16 MB eingesetzt; es ist bis heute auf allen FAT-formatierten 3,5″-Disketten im Einsatz.
Merkmale:
-
12-Bit-Clusternummern, mit denen 212 = 4096 Cluster angesprochen werden können. Die Nummerierung der Cluster beginnt auf Disketten bei der Nummer 2.
-
Es werden nur Dateinamen im Schema 8.3 (acht Zeichen für den Dateinamen und drei Zeichen für die Dateinamenserweiterung) unterstützt.
-
Die Clustergröße beträgt 512 Byte bis 4096 Byte.
-
Das Hauptverzeichnis (Root-Directory) der Partition ist auf eine Größe von 14 Clustern beschränkt, hierdurch ergibt sich eine maximale Anzahl von 224 Einträgen (Verzeichnisse oder Dateien). Normalerweise wird der erste Eintrag durch die Bezeichnung des Datenträgers belegt.
-
Unterstützt die Dateiattribute „Schreibgeschützt“, „Versteckt“, „System“ und „Archiv“
-
Es werden keine Berechtigungen für Dateien oder Ordner unterstützt
Lange Dateinamen auf Disketten
Um lange Dateinamen auf FAT12-Disketten einsetzen zu können, nutzt Windows die VFAT-Erweiterung. Mehrere zusätzliche Verzeichniseinträge liegen vor dem eigentlichen Verzeichniseintrag im FAT12-Format zur Speicherung des langen Dateinamens. Ältere Systeme (z. B. MS-DOS) ignorieren diese Verzeichniseinträge, da sie durch eine spezielle Kombination von Attributen markiert sind, u. a. als „Volume“ und „Hidden“.
FAT16
FAT16 ist ein Dateisystem, das 1983 zu FAT12 dazukam. Durch die zunehmende Größe der eingesetzten Festplatten wurde eine Erweiterung des Adressraumes notwendig. Nun waren selbst mit 512-Byte-Clustern insgesamt 32-MB-große Platten verwaltbar.
Da FAT12 fast nur noch für Disketten verwendet wird, ist es fast in Vergessenheit geraten. Allgemein wird heute deshalb oft auch das FAT16 nur als FAT bezeichnet. Allerdings benötigt das Server-Betriebssystem Novell-Netware bis zur Version 4.0 nur eine bis zu 16 MB große „DOS“-Boot-Partition, die also (automatisch) mit FAT12 erzeugt wird.
Es hat die folgenden Merkmale:
-
65.536 Einträge sind möglich, allerdings nur 512 im Rootverzeichnis.
-
Es können 216 − 12 = 65.524 Cluster angesprochen werden (12 Cluster reserviert FAT16, deshalb nicht 65.536).
-
8.3-Dateinamensformat
-
Die Partitionsgröße ist unter MS-DOS und Windows 9x (die auf DOS basieren) auf 2 GB begrenzt. Windows NT und Enhanced DR-DOS können allerdings knapp unter 4 GB große FAT16-Partitionen erzeugen und verwalten. (Clustergröße 64 KByte)
-
Die Cluster sind je nach Partitionsgröße zwischen 512 Byte und maximal 32 KByte groß.
-
Dateien dürfen bis 2 GB groß werden, unter Windows NT und Enhanced DR-DOS 4 GB.
-
Das Haupt-(Root-)Verzeichnis muss sich an einer bestimmten Position auf dem Datenträger befinden. Seine Größe wird bei Erstellung des Dateisystems festgelegt, d. h. es kann nicht wachsen.
Eine Weiterentwicklung erfolgte mit FAT32.
VFAT
VFAT („Virtual File Allocation Table“) ist eine Erweiterung des FAT-Formats, die ab Windows 95 zum Einsatz kommt. Es kann auf FAT16 und FAT12, seit 1997 auch auf FAT32 angewendet werden.
Als Windows 95 veröffentlicht wurde, hatten die Festplatten in einem PC um die 400 MB Kapazität. FAT16 verwaltet 216 = 65.536 Cluster. Selbst bei einer Clustergröße von 8.192 Byte sind 512 MB adressierbar, bei 32.768 Byte Clustergröße sogar 2 GB. Dies war für damalige Verhältnisse ausreichend (Maximalgrößen siehe FAT16).
Dennoch hatten die Designer von Windows 95 das Ziel, die Nutzung von langen Dateinamen zu ermöglichen. Durch einen Trick im Layout des Dateisystems wird dies erreicht. Die Datei wird wie bisher als 8.3-Dateiname gespeichert, bei längeren Namen wird jedoch ein Alias in der Form xxxxxx~1.xxx verwendet, wobei die Nummer hochgezählt wird. Der lange Name wird dann über mehrere Verzeichniseinträge verteilt. Während bisher ein Eintrag auf eine Datei verwies, kann jetzt eine Datei mehrere Einträge mit je 32 Byte belegen. Das endgültige Format erlaubt bis zu 255 Zeichen lange Dateinamen (allerdings inklusive Speicherpfad) und setzt konsequent auf Unicode als Zeichensatz mit der Kodierung UCS-2.
In bisher von Microsoft-Systemen nicht genutzten Bereichen des Eintrages mit dem 8.3-Dateinamen werden nun auch das Erstelldatum und das Datum des letzten Zugriffes gespeichert.
Windows for Workgroups 3.11 unterstützt VFAT optional, jedoch nur für Festplatten und ohne die Möglichkeit langer Dateinamen.
VFAT wird in Windows 95 und höher und in Windows NT 3.5 und höher unterstützt. Gelegentlich wird in der Literatur (insbesondere in WWW-Artikeln) auch fälschlich VFAT mit FAT32 gleichgesetzt.
FAT32 ist ein von Microsoft entwickeltes Dateisystem, das seit 1997 die Vorgängerversion FAT16 ergänzt. Partitionen kleiner als 512 MB werden nach wie vor mit FAT16 erzeugt, von 512 MB bis 2 GB hat man die Wahl, ab 2 GB wird FAT32 benutzt.
Es wurde 1997 mit Windows 95b (auch 4.00.950b bezeichnet) eingeführt. Die Adressierung arbeitet mit 32 Bit, wovon 4 Bit reserviert sind, sodass 228 = 268.435.456 Cluster adressiert werden können.
FAT32 kann außerdem mit allen neueren Windows-Versionen (98, 2000, ME, XP, Vista und Mobile) sowie – anders als NTFS – problemlos auch mit FreeDOS und Enhanced DR-DOS verwendet werden. Da Windows von Haus aus nur eine sehr begrenzte Anzahl von Dateisystemen unterstützt, wird FAT32 trotz seiner Beschränkungen gern zum Datenaustausch mit anderen Systemen wie beispielsweise Linux oder Mac OS X eingesetzt. Mittlerweile wird NTFS auch unter Linux unterstützt, sodass die Verwendung von FAT32 aufgrund seiner Begrenzung auf 4 GB bei großen Dateien eher nachteilig ist. Beim Kopieren größerer Datenmengen auf FAT32-Laufwerke ist zu beobachten, dass der Schreibvorgang für viele kleine Dateien deutlich mehr Zeit benötigt, als für wenige große Dateien mit dem gleichen Gesamtvolumen. Beim Konkurrenzformat NTFS scheint dieser Effekt deutlich geringer zu sein.
Da bis zu einer Partitionsgröße von 8 GB ein Cluster nur 4 KByte groß ist (bei der Standardformatierung), werden diese „kleinen und alten“ Platten verhältnismäßig besser ausgenutzt als mit FAT16, wo ein Cluster bis zu 32 KByte belegt (unter Windows NT oder Windows 2000 FAT16-Clustergröße maximal 64 KByte).
FAT32 hat die folgenden Merkmale:
-
Es werden bis zu 228 = 268.435.456 Cluster verwendet.
-
Da VFAT unterstützt wird, sind lange Dateinamen (bis 255 Zeichen) möglich.
-
Die Dateinamen sind in Unicode kodiert.
-
Das Dateisystem ist auf 8 TB begrenzt (Clustergröße ist maximal 215. Es gibt 228 Adressierungsmöglichkeiten => 215 · 228 = 243 was 8192 GB oder ~8 TB entspricht.)
-
Die Cluster sind je nach Partitionsgröße zwischen 512 Byte und maximal 32 KByte groß.
-
Dateien dürfen max. bis zu 4 GB − 1 Byte (= 4 × 230 Byte − 1 Byte = 4.294.967.295 Bytes) groß werden (dies ist die heute vermutlich bedeutendste Einschränkung).
-
Es können maximal 228 Dateien abgelegt werden (genauer: Da jede Datei mindestens einen Cluster belegt, beschränkt die Anzahl der Cluster die Anzahl der Dateien).
-
Das Haupt-(Root-)Verzeichnis muss sich nicht an einer bestimmten Position auf dem Datenträger befinden und hat vor allem keine festgelegte Größe; bei den anderen FAT-Varianten wird die maximale Anzahl der Einträge im Hauptverzeichnis bei der Formatierung festgelegt (und kann nachträglich nicht geändert werden).
-
Alte DOS-/Windows-Versionen (bis einschließlich Windows 95 A und Windows NT bis Version 4.0, MS-DOS bis 6.22, PC-DOS bis 2000, DR-DOS bis 7.03) können nicht darauf zugreifen. Für Windows NT 4.0 steht mittlerweile ein vollwertiger Treiber kostenlos zur Verfügung.
-
Unter Windows 2000 und Nachfolgern darf der Benutzer mit der eingebauten Funktion „Formatieren“ maximal 32 GB große FAT32-Dateisysteme neu erstellen. Auch das Kommandozeilen-Programm format.com hat diese Beschränkung. Der Zugriff auf größere FAT32-Dateisysteme, die mit alternativen Werkzeugen erstellt wurden, ist aber immer möglich. Auch das Festplatten-Dienstprogramm von Mac OS X 10.4 und neuer kann auf Festplatten, die größer als 32 GB sind, eine oder mehrere übergroße FAT32-Partitionen erzeugen.
-
Es gibt mehrere moderne DOS-Systeme, die FAT32 unterstützen: MS-DOS 7.10/8.0, Enhanced DR-DOS, FreeDOS 1.0 und Datalight ROM-DOS.
HPFS:
HPFS (für High Performance File System) ist das Dateisystem von OS/2. Die ursprüngliche 16-Bit-Version, in der Programmiersprache C geschrieben, ist von Microsoft geschaffen worden. HPFS unterstützt lange Dateinamen mit bis zu 255 Zeichen sowie sogenannte erweiterte Attribute, die es erlauben, beliebige Metainformationen mit einer Größe von bis zu 64 kB an eine Datei zu binden, ohne dass deren Nutzdaten verändert werden. So lässt sich z. B. eindeutig hinterlegen, mit welcher Anwendung eine Datei bearbeitet werden kann. Hierdurch entfällt gleichzeitig der Zwang, einer Datei eine bestimmte Dateiendung geben zu müssen (wie z. B. unter Windows).
Auf Festplatten haben HPFS-Partitionen die Partitionssignatur (7).
HPFS wurde auch von den ersten Versionen von Windows NT verwendet: In Windows NT 3.x wurde HPFS noch vollständig unterstützt, bei Windows NT 4.0 entfiel der Treiber, er wurde aber auch weiterhin unterstützt, wenn er bei einem Upgrade eines vorhandenen Windows NT 3.x noch vorhanden war (Es gab auch Drittanbietersoftware, welche ihn gezielt nachinstalliert hat, bzw. Anleitungen, um dies manuell über die Registry zu tun). Anwender waren somit ab diesem Zeitpunkt aufgefordert, zu NTFS zu migrieren. Ab Windows 2000 war NTFS dann das alleinig offiziell unterstützte Dateisystem für Festplatten, neben dem - z.B. wegen fehlender Dateirechte - für professionelle Anwendungszwecke unzureichenden FAT-Dateisystem (VFAT/FAT32).
Aus der OS/2-Nutzerschaft kamen aber Anpassungen, um den HPFS-Treiber aus Windows NT 3.51 auch noch bis mindestens Windows XP weiternutzen zu können, wobei davon zunehmend abgeraten wurde, da es bei großen Partitionen zu Fehlern kommen kann.
HPFS 386:
Für den IBM LAN Server hat IBM selbst eine vollständig in Assembler implementierte 32-Bit-Version dieses Dateisystems entwickelt, HPFS386 oder auch IBM386FS. Diese war extrem schnell und bot erweiterte Sicherheitsfunktionen. Sie war auch mit Standard-OS/2 lauffähig, wurde aber den offiziell vertriebenen OS/2-Versionen nie beigegeben. Einige für Standard-HPFS programmierte Hilfsprogramme, etwa solche zur Wiederherstellung gelöschter Dateien, waren allerdings unter der 32-Bit-Variante nicht mehr funktionsfähig.
NTFS:
Microsoft NTFS steht für New Technology File System und ist ein proprietäres Dateisystem von Microsoft für dessen Betriebssysteme Microsoft Windows NT, einschließlich seiner Nachfolger 2000, XP, Server 2003, Vista, Server 2008 und Windows 7.
Im Vergleich zu FAT bietet NTFS unter anderem einen gezielten Zugriffsschutz auf Dateiebene sowie größere Datensicherheit durch Journaling. Allerdings ist seine Kompatibilität nicht so breit gegeben, wie bei FAT.
Versionen von NTFS:
In seltenen Fällen wird fälschlicherweise die NTFS-Version mit der Version des Betriebssystems gleichgesetzt. Die folgende Liste spiegelt die korrekte Zuordnung zwischen NTFS- und Windows-Version wider:
-
NTFS 1.0 – Microsoft Windows NT 3.1
-
NTFS 1.1 – NT 3.5/3.51
-
NTFS 2.0 – NT 4.0
-
NTFS 3.0 – 2000 (NT 5.0) mit 3.1-kompatiblem Datenträgerformat
-
NTFS 3.1 – XP (NT 5.1)
-
NTFS 3.1 – Server 2003 (NT 5.2)
-
NTFS 5.x – Vista (NT 6.0), Server 2008