Smart File System

SFS
Разработчик John Hendrikx
Файловая система Smart File System
Дата представления 1998; 26 лет назад (1998)
Метка тома 'SFS\0'
Ограничения
Максимальный размер файла 4 Гб
Максимальная длина имени файла 107 символов
Максимальный размер тома 127 Гб
Возможности
Диапазон дат 1 января 1978 - 2157 гг
Точность хранения даты 1/50 сек.
Атрибуты filenote, hidden, undeletable
Фоновая компрессия Нет
Фоновое шифрование Нет (предоставляется на уровне блочного устройства)
Поддерживается ОС AmigaOS (версия 1.279), AROS (1.84), MorphOS (1.224), AmigaOS 4 (1.293), Linux (1.0beta12)

Smart File System (SFS) — журналируемая файловая система, изначально разработанная для компьютеров Amiga, впоследствии используется в производных от AmigaOS операционных системах (AROS, MorphOS и др.). Проектировалась с учётом требований производительности, масштабируемости и целостности данных. Используются блоки размером от 512 (29) до 32 768 (215) байт, а максимальный размер раздела может достигать 128 Гб.

Хорошая производительность файловой системы реализуется путём группирования множественных записей каталогов в единый блок и группированием блоков метаданных совместно в кластеры. Для отслеживания свободного места используется битовая карта, а файл данных следит за использованием экстентов, упорядоченных в структуру B+ дерева.

Целостность поддерживается ведением журнала откатов всех изменений, сделанных с метаданными за определённый период времени. Журнал записывается на диск сначала в свободное место, а затем непосредственно поверх него записываются блоки метаданных. В случае отказа системы сразу после монтирования файловая система будет помнить о незавершённой операции и откатит её назад к последнему целостному состоянию. По причинам, связанным с производительностью, гарантируется целостность только метаданных. Актуальные данные в файлах могут оставаться повреждёнными, если операция записи была прервана на середине.

Интересной специфической особенностью SFS является способность дефрагментации самой себя непосредственно во время использования файловой системы, даже для заблокированных файлов. Процесс дефрагментации почти не имеет состояний (отдельно от местоположения, в котором работает), что означает возможность мгновенно его останавливать и запускать. В ходе дефрагментации сохранение целостности данных гарантируется и для метаданных, и для обычных данных.

SFS является свободной файловой системой, написанной на Си в 1998 году Джоном Хендрикксом. После его ухода со сцены Amiga в 2000 году, исходный код SFS был опубликован и её развитие продолжилось.

С мая 2005 года исходный код SFS доступен по лицензии GNU LGPL.