Zum Inhalt springen

Amiga Fast File System

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. Januar 2025 um 17:07 Uhr durch Cyberman44 (Diskussion | Beiträge) (Varianten und Versionen: Links ergänzt). 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 lateinischen 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]

Version 40.1 war die letzte von Commodore veröffentlichte FFS-Version und wurde mit AmigaOS 3.1 sowohl auf Disketten als auch im ROM ausgeliefert. Danach erschienen mehrere inoffizielle Patches, die den Einsatz auf Festplatten mit einem 64-Bit-Adressierungssystem namens TrackDisk64 bzw. TD64 über die ersten 2 GB hinaus erlaubten, die die Versionsnummer v44 trugen[6]. Die 2-GB-Dateigrößenbeschränkung und die 127-GB-Partitionsgrößenbeschränkung blieben aber bestehen, da dies eine Beschränkung der AmigaOS dos.library und aller damals aktuellen Amiga-Software war. Die Version von FFS, die mit AmigaOS 3.5 und 3.9 mitgeliefert wurde, war v45 und unterschied sich durch ein anderes 64-Bit-Adressierungssystem, das sogenannte New Style Device oder NSD[7].

In jüngerer Zeit (ab 2003) haben MorphOS and AmigaOS 4 Unterstützung für ein leicht aktualisiertes „FFS2“ von Olaf Barthel (FFS v46 bzw. v50) eingeführt. Dieses ist zum älteren FFS kompatibel. Es ist PowerPC -nativ und hat zwei weitere DOS-Typen eingeführt (die vom älteren FFS nicht gelesen werden können):

DOS\6
Lange Dateinamen für OFS (OFS-LNFS). Dies erlaubte längere Dateinamen (bis zu 107 Zeichen) als das übliche Amiga-Limit von 31 Zeichen.[7]
DOS\7
Lange Dateinamen für FFS (FFS-LNFS).

Für die LNFS-DOS-Typen gab es keine Verzeichnis-Caching-Modi; der internationale Modus war immer aktiviert.

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 oder XFS)[8], 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. In: www.gregdonner.org. 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. In: www.kernel.org. Abgerufen am 6. Juni 2016 (englisch).
  6. trackdisk64 readme. In: aminet.net. Abgerufen am 6. Juni 2016 (englisch).
  7. AmigaOS 3.5 - Funktionen. In: amigaworld.de. Abgerufen am 6. Juni 2016.
  8. xfs readme. In: aminet.net. Abgerufen am 6. Juni 2016 (englisch).