Le Smart File System ( SFS ) est un système de fichiers journalisé utilisé sur les ordinateurs Amiga et les systèmes d'exploitation dérivés d'AmigaOS (bien qu'une certaine prise en charge existe également pour les compatibles IBM PC ). Il est conçu pour les performances, l'évolutivité et l'intégrité, offrant des améliorations par rapport aux systèmes de fichiers Amiga standard ainsi que des fonctionnalités spéciales ou uniques.
Caractéristiques
SFS utilise des tailles de bloc allant de 512 (2 9 ) à 32768 (2 15 ) octets avec une taille de partition maximale de 128 Go. Ses bonnes performances, meilleures que celles de FFS , et l'absence de besoin de longue « validation » en cas d'erreur, sont obtenues en regroupant plusieurs entrées de répertoire en un seul bloc et en regroupant les blocs de métadonnées en clusters. Une image bitmap est utilisée pour garder une trace de l'espace libre, et les données de fichier sont suivies à l'aide d'étendues organisées dans une structure arborescente B+ .
L'intégrité est maintenue en conservant un journal des transactions de toutes les modifications apportées aux métadonnées sur une certaine période de temps. Le journal est d'abord écrit sur le disque dans l'espace libre, puis les blocs de métadonnées sont écrasés directement. Si le système plante, la prochaine fois que le système de fichiers est monté, il remarquera l'opération inachevée et la ramènera au dernier état cohérent connu. Pour des raisons de performances, seule l'intégrité des métadonnées est assurée. Les données réelles des fichiers peuvent toujours être corrompues si une opération d'écriture est interrompue à mi-chemin. Contrairement aux systèmes de fichiers Amiga d'origine, FFS et OFS , l'intégrité du système de fichiers est très rarement compromise par cela.
Une caractéristique de SFS qui est presque unique parmi les systèmes de fichiers Amiga est sa capacité à se défragmenter lui-même pendant que le système de fichiers est en cours d'utilisation, même pour les fichiers verrouillés. Le processus de défragmentation est presque complètement sans état (à part l'emplacement sur lequel il fonctionne), ce qui signifie qu'il peut être arrêté et démarré instantanément. Pendant la défragmentation, l'intégrité des données est assurée à la fois pour les métadonnées et les données normales. Le système de fichiers peut tenter de déplacer un fichier entier vers un emplacement différent lorsque la fragmentation va se produire.
Le système de fichiers propose un répertoire contenant les fichiers supprimés pour la récupération.
Histoire
SFS est écrit en C et a été créé et publié à l'origine en tant que logiciel gratuit en 1998 par John Hendrikx. Après que l'auteur original ait quitté la scène Amiga en 2000, le code source de SFS a été publié et son développement a été poursuivi par Ralph Schmidt dans MorphOS .
Depuis mai 2005, SFSobjec et SFSconfig sont disponibles sous licence GPL . Le développement de SFS a maintenant été bifurqué ; en plus de la version Amiga originale, il existe maintenant des versions pour MorphOS , AROS , AmigaOS 3 et une version pour AmigaOS 4 , qui ont des ensembles de fonctionnalités différents mais restent compatibles entre elles. De plus, il existe un pilote pour Linux pour lire (expérimentalement pour écrire) les volumes Amiga SFS, GRUB le prend en charge nativement, et il existe des pilotes gratuits pour l'utiliser depuis UEFI .
En 2008 , SFS était l'un des systèmes de fichiers indépendants encore utilisés sur les ordinateurs Amiga.
Les versions pour AROS , AmigaOS et MorphOS sont basées sur des branches différentes. La version Linux est un code indépendant.