Smart File System

Last updated
SFS
Developer(s) John Hendrikx
Full nameSmart File System
Introduced1998;26 years ago (1998)
Partition IDs 'SFS\0'
Limits
Max volume size127 GB
Max file size4 GB
Max filename length107 characters
Features
Date rangeJanuary 1, 1978 - 2157
Date resolution1/50s
Attributesfilenote, hidden, undeletable
Transparent
compression
No
Transparent
encryption
No (provided at the block device level)
Other
Supported
operating systems
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 systems (though some support also exists for IBM PC compatibles). It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features.

Contents

Features

SFS uses block sizes ranging from 512 (29) to 32768 (215) bytes with a maximum partition size of 128 GB. Its good performance, better than FFS, and lack of need for long "validation" in case of an error, [1] [2] is achieved by grouping multiple directory entries into a single block and by grouping meta data blocks together into clusters. [3] A bitmap is used to keep track of free space, and file data is kept track of using extents arranged into a B+ tree structure. [3]

Integrity is maintained by keeping a transaction log of all changes made to metadata over a certain period of time. [3] 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. [4] Unlike the original Amiga filesystems, FFS and 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. [3] 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. [5]

The filesystem offers a directory containing deleted files for recovery. [2]

History

SFS is written in 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 GPL license. SFS development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, 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, [6] GRUB natively supports it, [7] and there are free drivers to use it from UEFI. [8]

As of 2008, SFS was one of the independent filesystems still being used on Amiga computers. [9]

Versions for AROS, AmigaOS and MorphOS are based on different branches. The Linux version is independent code.

See also

Related Research Articles

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ext3, or third extended filesystem, is a journaled file system that is commonly used by the Linux kernel. It used to be the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper, and later in a February 1999 kernel mailing list posting. The filesystem was merged with the mainline Linux kernel in November 2001 from 2.4.15 onward. Its main advantage over ext2 is journaling, which improves reliability and eliminates the need to check the file system after an unclean shutdown. Its successor is ext4.

AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file redirection.

The Unix file system (UFS) is a family of file systems supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

<span class="mw-page-title-main">Defragmentation</span> Rearrangement of sectors on a hard disk into contiguous units

In the maintenance of file systems, defragmentation is a process that reduces the degree of fragmentation. It does this by physically organizing the contents of the mass storage device used to store files into the smallest number of contiguous regions. It also attempts to create larger regions of free space using compaction to impede the return of fragmentation. Some defragmentation utilities try to keep smaller files within a single directory together, as they are often accessed in sequence.

The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attributes may include metadata, as well as owner and permission data.

The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem was never given a specific name and known originally simply as "DOS" or AmigaDOS. Upon the release of FFS, the original filesystem became known as Amiga Old File System (OFS). OFS, which was primarily designed for use with floppy disks, had been proving slow to keep up with hard drives of the era. FFS was designed as a full replacement for the original Amiga filesystem. FFS differs from its predecessor mainly in the removal of redundant information. Data blocks contain nothing but data, allowing the filesystem to manage the transfer of large chunks of data directly from the host adapter to the final destination.

On the Amiga, the Old File System was the filesystem for AmigaOS before the Amiga Fast File System. Even though it used 512-byte blocks, it reserved the first small portion of each block for metadata, leaving an actual data block capacity of 488 bytes per block. It wasn't very suitable for anything except floppy disks, and it was soon replaced.

<span class="mw-page-title-main">Professional File System</span> Improved file system for AmgaOS

The Professional File System is a filesystem originally developed commercially for the Amiga, now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the Hierarchical File System (HFS) as the primary file system of Apple computers with the 1998 release of Mac OS 8.1. HFS+ continued as the primary Mac OS X file system until it was itself replaced with the Apple File System (APFS), released with macOS High Sierra in 2017. HFS+ is also one of the formats supported by the iPod digital music player.

In computing, an extent is a contiguous area of storage reserved for a file in a file system, represented as a range of block numbers, or tracks on count key data devices. A file can consist of zero or more extents; one file fragment requires one extent. The direct benefit is in storing each range compactly as two numbers, instead of canonically storing every block number in the range. Also, extent allocation results in less file fragmentation.

A file system API is an application programming interface through which a utility or user program requests services of a file system. An operating system may provide abstractions for accessing different file systems transparently.

The following tables compare general and technical information for a number of file systems.

In computing, a rigid disk block (RDB) is the block on a hard disk where the Amiga series of computers store the disk's partition and filesystem information. The IBM's PC equivalent of the Amiga's RDB is the master boot record (MBR).

Btrfs is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager, developed together. It was founded by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel.

Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Amiga family of personal computers—as opposed to application software, which performs business, education, and recreation functions.

<span class="mw-page-title-main">AmigaOS</span> Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

Apple File System (APFS) is a proprietary file system developed and deployed by Apple Inc. for macOS Sierra (10.12.4) and later, iOS 10.3, tvOS 10.2, watchOS 3.2, and all versions of iPadOS. It aims to fix core problems of HFS+, APFS's predecessor on these operating systems. APFS is optimized for solid-state drive storage and supports encryption, snapshots, and increased data integrity, among other capabilities.

References

  1. Darren Eveland. "Hard drive setup for AmigaOS 4.1 Classic". Hyperion Entertainment Blog.
  2. 1 2 Robert Williams (2000). "Hard Drivin'" (PDF). Total Amiga (6): 45.
  3. 1 2 3 4 EC-Council (2009). "Understanding File Systems and Hard Disks". Computer Forensics: Investigating Hard Disks, File and Operating Systems (PDF). Cengage Learning. pp. 1–16. ISBN   978-1-4354-8350-7.
  4. Hendrikx, J (4 August 1998). "Smart Filesystem documentation". Archived from the original on 2004-07-07.
  5. Husrev Taha Sencar; Nasir Memon (1 August 2012). Digital Image Forensics: There is More to a Picture than Meets the Eye. Springer Science & Business Media. p. 130. ISBN   978-1-4614-0757-7.
  6. "Amiga SmartFileSystem, Linux implementation". Archived from the original on 4 June 2021. Retrieved November 10, 2011.
  7. "GRUB features". GNU GRUB Manual 2.0. Archived from the original on 4 October 2015.
  8. "Free Software EFI Drivers". Archived from the original on 19 March 2015. Retrieved 19 October 2015.
  9. Jeremy Reimer (18 March 2008). "From BFS to ZFS: past, present and future of file systems". Ars Technica . Condé Nast Publications. 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.