Smart File System: Difference between revisions

Content deleted Content added
Features: Expanding citation
Expand references / copyedit
Line 30:
| OS = [[AmigaOS]], [[AROS]], [[MorphOS]]
}}
The '''Smart File System''' ('''SFS''') is a [[journaling filesystem]] used on [[Amiga]] computers. It is designed for performance, [[scalability]] and integrity. It 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.
 
== 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.
GoodIts good performance of the filesystem, which is fasterbetter than [[Amiga Fast File System|FFS]], and doesn'tlack of need requirefor 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}}</ref><ref name="TotalAmiga">{{cite journal|work=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 realisedachieved 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=1-4354-8350-2 |page=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 half way through.<ref>{{cite web|url=http://www.amiga-stuff.com/text/filesystems/SFS.guide|author=Hendrikx, J: |title=Smart Filesystem documentation. |year=1999}}</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 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|title=Digital Image Forensics: There is More to a Picture than Meets the Eye|url=http://books.google.com/books?id=PzP9ViF8oAIC|date=1 August 2012|publisher=Springer Science & Business Media|isbn=978-1-4614-0757-7|page=130}}</ref>
Line 44:
SFS is a free filesystem written in [[C (programming language)|C]] originally created in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the sources for SFS were released and its development continued by Ralph Schmidt in MorphOS.
 
Since May 2005 the SFS source code is available under the [[GNU Lesser General Public License|LGPL]] license. Its 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 Amiga SFS volumes<ref>{{cite web|title=asfs.txtAmiga SmartFileSystem, Linux implementation | url=http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/asfs.txt | accessdate=November 10, 2011}}</ref> and [[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}}</ref>
 
{{asof|2008}}, SFS was one of the independent filesystems still being used on Amiga computers.<ref>{{cite web|website=[[Ars Technica]]|url=http://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>
Line 58:
 
== See also ==
* [[Amiga Old File System|Old]]
* [[Amiga Fast File System]]
* [[Amiga Fast File System|Fast File System]]
* [[Professional File System]]
* [[File system]]
* [[List of file systems]]
* [[Amiga Rigid Disk Block|Rigid Disk Block]] (RDB)
 
==References==
Line 69:
 
== External links ==
* [http://www.xs4all.nl/~hjohn/SFS/ Original SFS site] including [http://hjohn.home.xs4all.nl/SFS/block.htm technical documentation]
* [http://www.amiga-stuff.com/text/filesystems/SFS.guide Smart File System User Manual]
* [http://sourceforge.net/projects/smartfilesystem/ Smart File System at SourceForge]
* [http://strohmayer.org/sfs/ OS4 SFS homepagesite]
* [http://www.xs4all.nl/~hjohn/SFS/ Original homepage]
{{AmigaOS}}
{{MorphOS}}