Zum Inhalt springen

Amiga Fast File System

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Januar 2025 um 19:34 Uhr durch Cyberman44 (Diskussion | Beiträge) (Weitere Implementierungen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

HINWEIS: Nicht zu verwechseln mit dem Berkeley Fast File System

Das Amiga Fast File System (AFFS, historisch häufiger FFS) ist das Dateisystem, welches 1988 mit Version 1.3 des AmigaOS[1] für Amiga Personal Computer veröffentlicht wurde.

Das ursprüngliche Amiga-Dateisystem hatte nie einen spezifischen Namen und war nur als „DOS“ oder AmigaDOS bekannt. Nach der Veröffentlichung von FFS wurde es als Amiga Old File System (OFS) bezeichnet. OFS war primär für den Einsatz mit Disketten entwickelt worden und erwies sich als zu langsam, um mit den Festplatten der damaligen Zeit Schritt halten zu können.

FFS wurde daher als vollständiger Ersatz für das ursprüngliche Amiga-Dateisystem entwickelt. FFS unterscheidet sich von seinem Vorgänger hauptsächlich durch die Eliminierung redundanter Informationen. Die Datenblöcke enthalten nur Daten, so dass das Dateisystem die Übertragung großer Datenmengen direkt vom Hostadapter zum endgültigen Ziel verwalten kann.

Varianten und Versionen

FFS arbeitet in verschiedenen Modi, die durch sogenannte „DOS-Typen“ definiert werden. AmigaOS-Dateisysteme werden durch einen Vier-Buchstaben-Deskriptor identifiziert, der entweder im RDB (Rigid Disk Block), in einer Einhänge-Liste oder einem DOSdriver angegeben wird. Alternativ, wie es bei trackdisk-ähnlichen Geräten wie Disketten der Fall war, kann die Diskette selbst in jedem DOS-Typ formatiert werden.

Diese können eine Blockgröße zwischen 512 Bytes und 32 Kilobytes verwenden, sowie als multi-user file system (muFS) bezeichnetes Äquivalent zu AFFS vorliegen. Das FFS des AmigaOS 1.3 kannte zwei verschiedene Modi dieses Dateisystems, deren FFS-DOS-Typen die folgenden waren:

DOS\0
Der Modus für das ursprüngliche Amiga-Dateisystem („OFS,“ original file system) für Disketten, auch als „altes“ Amiga-Dateisystem („OFS,“ old file system) bezeichnet. Es wurde aus Kompatibilitätsgründen beibehalten. Dies bedeutete, dass auch Nutzer mit OFS-formatierten Laufwerken diese lesen konnten, wenn FFS im RDB installiert war. Die meisten Disketten, die von Software-Firmen oder als Magazin-Coverdisks ausgeliefert wurden, verwendeten diesen DOS-Typ, so dass sie auf Amiga mit Workbench < 2.x wie dem Amiga 500 booten konnten.
DOS\1
Das erste Amiga Fast File System (FFS oder AFFS). Das neue Dateisystem, FFS. Die erste (diskettenbasierte) Version von FFS kannte keine weiteren Modi.

Mit AmigaOS 2.04 wurde FFS in der Version 37 ein Teil des Kickstart-ROMs. Damit einhergehend wurden zusätzliche Modi für die korrekten Umwandlung von Groß- und Kleinschreibung der Akzentzeichen (diakritischer Zeichen) eingeführt. Zudem wurde ein On-Disk-Verzeichnis-Cache hinzugefügt. Jeder dieser neuen Modi war als OFS- und als FFS-DOS-Typ verfügbar. Dieses ungerade System diente der Parität: OFS-Modi mit Ausnahme von DOS\0 wurden fast nie verwendet, waren aber dennoch verfügbar. (Obwohl diese Modi auf OFS basierten, waren sie nicht kompatibel mit Amiga-Systemen ohne FFS).

Die folgenden vier neuen DOS-Typen wurden mit v37 des FFS eingeführt:

DOS\2
Der internationale Modus für OFS (OFS-INTL). Dieser ermöglichte es, Dateinamen mit Akzentzeichen (diakritischer Zeichen) zu verwenden (d. h. solche Zeichen, die im lateinischer Zeichensatz nicht vorkommen wie zum Beispiel ä und ê).
DOS\3
Der internationaler Modus für FFS (FFS-INTL). Dies war der am häufigsten verwendete FFS-Modus. Bei allen höheren DOS-Typen ist der internationale Modus immer aktiviert.
DOS\4
Verzeichnis-Caching für OFS (OFS-DC). Über einen einfachen Cache-Mechanismus wurden dedizierte Verzeichnislisten erstellt, anstatt die verknüpften Verzeichnis- und Dateieinträge, die auf dem Speichermedium verstreut sind, zu sammeln. Zum Speichern der Verzeichnisdaten wurde ein gewisser (kleiner) Speicherbereich reserviert.[2] Dies verbesserte die Lesegeschwindigkeit von Verzeichnissen drastisch, aber das Erstellen, Löschen und Umbenennen von Dateien wurde langsamer. Die Lesegeschwindigkeit für einzelne Dateien blieb unverändert.

Es wurde zu einer beliebten Wahl auf Amiga-Festplatten, aber laut Olaf Barthel, dem Programmierer von FFS2, ist die Verwendung von Modi mit Verzeichnis-Caching besser für Disketten als für Festplatten geeignet[3], wo es zu einer allgemeinen Verschlechterung der Performance im Vergleich zu den DOS-Modi ohne Verzeichnis-Caching führt. Trotzdem wurde dieser Modus auf Disketten nur selten verwendet, da der Cache wertvollen Speicherplatz verbrauchte und der begrenzte Platz eine große Anzahl von Dateien von vornherein verhinderte. Dem Verzeichnis-Caching-Modus fehlt eine automatische Speicherbereinigung, was bedeutet, dass teilweise gefüllte Cache-Blöcke nie konsolidiert werden und weiterhin Platz verbrauchen[4].

DOS\5
Verzeichnis-Caching für FFS (FFS-DC). Beide Modi waren mit früheren Versionen von FFS nicht rückwärts kompatibel.[5]

Weitere Implementierungen

Es gab nur wenige andere Implementierungen, die in der Lage waren, FFS-Dateisysteme zu lesen, die normalerweise einen Amiga-Emulator und eine Kopie des Betriebssystem-ROMs zum Lesen benötigten. Insbesondere die Unterstützung für AFFS (Amiga Fast File System) kann in den Linux-Kernel einkompiliert werden und bietet volle Lese-, Schreib- und Formatierungsunterstützung für FFS- und OFS-Partitionen aller DOS-Typen (außer DOS\6 und DOS\7, die nur selten genutzt wurden).

Für den Amiga gab es die Freeware-Anwendung XFileSystem (kurz XFS, nicht zu verwechseln mit xFS)[6], die neben vielen anderen Dateisystemen auch OFS- und FFS-formatierte Laufwerke lesen und schreiben konnte. Es war auch das einzige Dateisystem für den Amiga (neben FFS/FFS2 selbst), das dies konnte. Allerdings wurden weder die DOS\6 oder DOS\7 Modi noch das Formatieren von Laufwerken unterstützt.

Siehe auch

Einzelnachweise

  1. The only two reasons to upgrade from KICKSTART 1.2 to 1.3. Abgerufen am 12. November 2012 (englisch).
  2. Amiga History Guide. In: www.AmigaHistory.co.uk. Abgerufen am 1. Mai 2017 (englisch).
  3. Limitations and Drawbacks in DCFS modes - AmigaOS Documentation Wiki. In: wiki.amigaos.net. Abgerufen am 7. Mai 2017 (englisch).
  4. DCFS und LNFS Low Level Data Structures - AmigaOS Documentation Wiki. In: wiki.amigaos.net. Abgerufen am 7. Mai 2017 (englisch).
  5. Overview of Amiga Filesystems. Abgerufen am 6. Juni 2016 (englisch).
  6. XFS readme auf aminet.net. Abgerufen am 6. Juni 2016 (englisch).