Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Smart File System
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Journaling filesystem used on Amiga computers}} {{Infobox filesystem | name = SFS | full_name = Smart File System | developer = John Hendrikx | introduction_os = | introduction_date = {{Start date and age|1998}} | partition_id = 'SFS\0' | directory_struct = | file_struct = | bad_blocks_struct = | max_filename_size = 107 characters | max_files_no = | max_volume_size = 127 [[gigabyte|GB]] | max_file_size = 4 [[gigabyte|GB]] | filename_character_set = | dates_recorded = | date_range = January 1, 1978 - 2157 | date_resolution = 1/50s | forks_streams = | attributes = filenote, hidden, undeletable | file_system_permissions = | compression = No | encryption = No (provided at the block device level) | OS = [[AmigaOS]] (version 1.279), [[AROS]] (1.84), [[MorphOS]] (1.224), [[AmigaOS 4]] (1.293), [[Linux]] (1.0beta12) }} The '''Smart File System''' ('''SFS''') is a [[journaling filesystem]] used on [[Amiga]] computers and [[AmigaOS]]-derived [[operating system]]s (though some support also exists for [[IBM PC compatible]]s). It is designed for performance, [[scalability]] and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. == Features == SFS uses block sizes ranging from 512 (2<sup>9</sup>) to 32768 (2<sup>15</sup>) [[byte]]s with a maximum partition size of 128 GB. Its good performance, better than [[Amiga Fast File System|FFS]], and lack of need for long "validation" in case of an error,<ref name="Hyperion">{{cite web|url=http://blog.hyperion-entertainment.biz/?p=210|title=Hard drive setup for AmigaOS 4.1 Classic|website=[[Hyperion Entertainment]] Blog|author=Darren Eveland}}</ref><ref name="TotalAmiga">{{cite journal|journal=Total Amiga|url=http://www.totalamiga.org/pdf/totalamiga_6.pdf|title=Hard Drivin'|page=45|author=Robert Williams|issue=6|year=2000}}</ref> is achieved by grouping multiple directory entries into a single block and by grouping meta data blocks together into clusters.<ref name="Forensics">{{cite book |author=EC-Council |title=Computer Forensics: Investigating Hard Disks, File and Operating Systems |date= 2009 |publisher=Cengage Learning |isbn=978-1-4354-8350-7 |pages=1β16 |chapter=Understanding File Systems and Hard Disks |url=http://news.asis.io/sites/default/files/Investigating_Hard_Disks_File__Operating_Systems.pdf }}</ref> A [[free space bitmap|bitmap]] is used to keep track of free space, and file data is kept track of using extents arranged into a [[B+ tree]] structure.<ref name="Forensics" /> Integrity is maintained by keeping a [[transaction log]] of all changes made to metadata over a certain period of time.<ref name="Forensics" /> The log is written to disk first into free space and then meta data blocks are overwritten directly. Should the system crash, the next time the filesystem is mounted it will notice the uncompleted operation and roll it back to the last known consistent state. For performance reasons, only metadata integrity is ensured. Actual data in files can still be corrupted if a write operation is terminated halfway through.<ref>{{cite web |url=http://www.amiga-stuff.com/text/filesystems/SFS.guide |author=Hendrikx, J |title=Smart Filesystem documentation |date=4 August 1998 |archive-url=https://web.archive.org/web/20040707174441/http://www.amiga-stuff.com/text/filesystems/SFS.guide |archive-date=2004-07-07 }}</ref> Unlike the original Amiga filesystems, [[Amiga Fast File System|FFS]] and [[Amiga Old File System|OFS]], filesystem integrity is very rarely compromised by this. One feature of SFS that is almost unique among Amiga filesystems is its ability to [[defragmentation|defragment]] itself while the filesystem is in use, even for locked files.<ref name="Forensics" /> The defragmentation process is almost completely stateless (apart from the location it is working on), which means it can be stopped and started instantly. During defragmentation data integrity is ensured of both meta data and normal data. The filesystem may attempt to move a whole file to a different location when fragmentation is going to occur otherwise.<ref name="Forensics2">{{cite book|author1=Husrev Taha Sencar|author2=Nasir Memon|author2-link=Nasir Memon|title=Digital Image Forensics: There is More to a Picture than Meets the Eye|url=https://books.google.com/books?id=PzP9ViF8oAIC&pg=PA130 |date=1 August 2012|publisher=Springer Science & Business Media|isbn=978-1-4614-0757-7|page=130}}</ref> The filesystem offers a directory containing deleted files for recovery.<ref name="TotalAmiga" /> == History == SFS is written in [[C (programming language)|C]] and was originally created and released as [[freeware]] in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in [[MorphOS]]. Since May 2005 SFSobjec and SFSconfig are available under the [[GNU General Public License|GPL]] license. SFS development has now forked; as well as the original Amiga version, there are now versions for [[MorphOS]], [[AROS Research Operating System|AROS]], [[AmigaOS|AmigaOS 3]], and a version for [[AmigaOS 4]], which have different feature sets but remain compatible to each other. In addition, there is a driver for [[Linux]] to read (experimental to write) Amiga SFS volumes,<ref>{{cite web|title=Amiga SmartFileSystem, Linux implementation | url=http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ | access-date=November 10, 2011 | archive-url=https://web.archive.org/web/20210604151409/http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ | archive-date=4 June 2021}}</ref> [[Grand Unified Bootloader|GRUB]] natively supports it,<ref>{{cite web|url=https://www.gnu.org/software/grub/manual/html_node/Features.html|title=GRUB features|work=GNU GRUB Manual 2.0|archive-url=https://web.archive.org/web/20151004034021/https://www.gnu.org/software/grub/manual/html_node/Features.html|archive-date=4 October 2015}}</ref> and there are [[free software|free]] drivers to use it from [[UEFI]].<ref>{{cite web|title=Free Software EFI Drivers|url=http://efi.akeo.ie/|access-date=19 October 2015|archive-url=https://web.archive.org/web/20150319154520/http://efi.akeo.ie/|archive-date=19 March 2015}}</ref> {{asof|2008}}, SFS was one of the independent filesystems still being used on Amiga computers.<ref>{{cite web|website=[[Ars Technica]]|url=https://arstechnica.com/gadgets/2008/03/past-present-future-file-systems/4/|title=From BFS to ZFS: past, present and future of file systems|author=Jeremy Reimer|publisher=[[CondΓ© Nast Publications]]|date=18 March 2008|quote=Many people did that, and some of the results, such as the Professional File System (PFS) and Smart File System (SFS), are still used by Amiga fans to this day.}}</ref> Versions for [[AROS]], [[AmigaOS]] and [[MorphOS]] are based on different branches. The Linux version is independent code. == See also == {{Portal|Amiga}} * [[Amiga Old File System]] * [[Amiga Fast File System]] * [[Professional File System]] * [[Amiga rigid disk block]] * [[List of file systems]] ==References== {{Reflist}} == External links == * [http://www.xs4all.nl/~hjohn/SFS/ Original SFS site] including [http://hjohn.home.xs4all.nl/SFS/block.htm technical documentation] * {{sourceforge|smartfilesystem}} * [https://archive.today/20130416022621/http://strohmayer.org/sfs/ OS4 SFS site] * {{cite web|url=http://www.intuitionbase.com/static.php?section=en_SFS-walkthrough|title=Smart File System, Walkthrough|website=IntuitionBase|archive-url=https://web.archive.org/web/20150911000334/http://www.intuitionbase.com/static.php?section=en_SFS-walkthrough|archive-date=11 September 2015}} {{AmigaOS}} {{MorphOS}} {{AROS}} {{File systems}} [[Category:Disk file systems]] [[Category:Amiga software]] [[Category:AmigaOS 4 software]] [[Category:AROS software]] [[Category:MorphOS]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:AROS
(
edit
)
Template:AmigaOS
(
edit
)
Template:Asof
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:File systems
(
edit
)
Template:Infobox filesystem
(
edit
)
Template:MorphOS
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sourceforge
(
edit
)