Smart File System

Journaling-Dateisystem für Amiga-Computer und AmigaOS-abgeleitete Betriebssysteme
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. Januar 2025 um 20:08 Uhr durch Cyberman44 (Diskussion | Beiträge) (Geschichte: doppelte Verlinkung entfernt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Das Smart File System (kurz SFS) ist ein Journaling-Dateisystem für Amiga-Computer und AmigaOS-abgeleitete Betriebssysteme. Es wurde mit dem Ziel entwickelt, die Leistung, Skalierbarkeit und Integrität im Vergleich zu nativen Amiga-Dateisystemen wie dem Amiga Fast File System (FFS) zu verbessern und bietet zudem einige einzigartige Funktionen. SFS ist auch auf modernen Systemen wie MorphOS und AROS verfügbar und kann über spezielle Treiber auf Linux genutzt werden.

Geschichte

SFS wurde 1998 von John Hendrikx als Freeware entwickelt und erstmals veröffentlicht. Es war das erste Amiga-Dateisystem, das Journaling unterstützte, was die Datenintegrität auch bei plötzlichen Systemabstürzen oder Stromausfällen sicherstellt. Ab dem Jahr 2000, als Hendrikx die Amiga-Szene verließ, wurde der Quellcode von SFS veröffentlicht und die Entwicklung von Joerg Strohmaier für AmigaOS und Ralph Schmidt für MorphOS weitergeführt. Seit Mai 2005 sind die Programme SFSobject[1] und SFSconfig[2], die zur Verwaltung von SFS-Partitionen dienen, unter der GNU General Public License (GPL) verfügbar.

SFS wurde kontinuierlich weiterentwickelt und es existieren mittlerweile Versionen für verschiedene AmigaOS-Varianten, MorphOS, AROS und sogar eine Linux-Implementierung, die das Lesen und experimentelle Schreiben von SFS-formatierten Medien ermöglicht.[3] SFS wurde 2008 als eines der wenigen freien und weiterhin genutzten Dateisysteme auf Amiga-Computern hervorgehoben.[4]

Eigenschaften

SFS verwendet Blockgrößen von 512 (29) bis 32768 (215) Bytes mit einer maximalen Partitionsgröße von 128 GB.

Seine gute Performance, besser als FFS, und die fehlende Notwendigkeit einer langen „Validierung“ im Falle eines Fehlers,[5][6] wird durch die Gruppierung mehrerer Verzeichniseinträge in einen einzigen Block und durch die Gruppierung von Metadatenblöcken in Clustern erreicht[7]. Eine Bitmap wird verwendet, um den freien Speicherplatz zu verfolgen, und Dateidaten werden mithilfe von Extents verfolgt, die in einer B+-Baumstruktur angeordnet sind.[7]

Die Integrität wird aufrechterhalten, indem ein Transaktionsprotokoll aller Änderungen, die über einen bestimmten Zeitraum an den Metadaten vorgenommen wurden, geführt wird.[7] Das Protokoll wird zunächst auf die Festplatte in den freien Speicherplatz geschrieben und dann werden die Metadatenblöcke direkt überschrieben. Sollte das System abstürzen, bemerkt es beim nächsten Einhängen des Dateisystems die nicht abgeschlossene Operation und setzt sie auf den letzten bekannten konsistenten Zustand zurück. Aus Leistungsgründen wird nur die Integrität der Metadaten gewährleistet. Tatsächliche Daten in Dateien können immer noch beschädigt werden, wenn ein Schreibvorgang auf halbem Wege abgebrochen wird.[8] Im Gegensatz zu den nativen Amiga-Dateisystemen FFS und OFS ist die Integrität des Dateisystems dadurch nur sehr selten gefährdet.

Eine Eigenschaft von SFS, die fast einzigartig unter den Amiga-Dateisystemen ist, ist seine Fähigkeit, Defragmentierung selbst durchzuführen, während das Dateisystem in Gebrauch ist, sogar für gesperrte Dateien.[7] Der Defragmentierungsprozess ist fast vollständig zustandslos (abgesehen von dem Ort, an dem er arbeitet), was bedeutet, dass er sofort angehalten und gestartet werden kann. Während der Defragmentierung wird die Datenintegrität sowohl der Metadaten als auch der normalen Daten gewährleistet. Das Dateisystem kann versuchen, eine ganze Datei an einen anderen Ort zu verschieben, wenn andernfalls eine Fragmentierung droht[9].

Das Dateisystem bietet ein Verzeichnis mit gelöschten Dateien zur Wiederherstellung an.[6]

Siehe auch

Einzelnachweise

  1. SFSobject im Aminet - disk/misc/SFSconfig.lha. Abgerufen am 9. Januar 2025.
  2. SFSconfig im Aminet - disk/misc/SFSobject.lha. Abgerufen am 9. Januar 2025.
  3. Amiga SmartFileSystem, Linux implementation. Archiviert vom Original am 4. Juni 2021; abgerufen am 10. November 2011 (englisch).
  4. Jeremy Reimer: Von BFS zu ZFS: Vergangenheit, Gegenwart und Zukunft von Dateisystemen. In: Ars Technica. Condé Nast Publications, 18. März 2008; (englisch): „Viele Leute haben das getan, und einige der Ergebnisse, wie das Professional File System (PFS) und das Smart File System (SFS), werden bis heute von Amiga-Fans verwendet.“
  5. Darren Eveland: Festplatteneinrichtung für AmigaOS 4.1 Classic. In: Hyperion Entertainment Blog. (englisch).
  6. a b Robert Williams: Hard Drivin'. In: Total Amiga. Nr. 6, 2000, S. 45 (englisch, totalamiga.org [PDF]).
  7. a b c d EC-Council: Computer Forensics: Investigating Hard Disks, File and Operating Systems. Cengage Learning, 2009, ISBN 978-1-4354-8350-7, Understanding File Systems and Hard Disks, S. 1–16 (englisch, asis.io [PDF]).
  8. Hendrikx, J: Smart Filesystem documentation. 4. August 1998, archiviert vom Original am 7. Juli 2004; (englisch).
  9. Husrev Taha Sencar, Nasir Memon: Digital Image Forensics: There is More to a Picture than Meets the Eye. Springer Science & Business Media, 2012, ISBN 978-1-4614-0757-7, S. 130 (englisch, google.com).