Smart File System
Encyclopedia
The Smart File System is a journaling filesystem used on Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

 computers. It is designed for performance, scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...

 and integrity. It uses block sizes ranging from 512 (29) to 32768 (215) byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

s with a maximum partition size of 128 GB.

Features

Good performance of the filesystem is realised by grouping multiple directory entries into a single block and by grouping meta data blocks together into clusters. A bitmap
Free space bitmap
Free space bitmaps are one method used to track allocated sectors by some file systems. While the most simplistic design is highly inefficient, advanced or hybrid implementations of free space bitmaps are used by some modern file systems.-Example:...

 is used to keep track of free space, and file data is kept track of using extents arranged into a B+ tree
B-tree
In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in that a node can have more than two children...

 structure.

Integrity is maintained by keeping a rollback log of all changes made to metadata over a certain period of time. 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. Unlike the original Amiga filesystems, FFS
Amiga Fast File System
The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem upon the release of FFS became known as Amiga Old File System . OFS, while fine on floppy disk, soon proved too slow to keep up with era hard drives...

 and OFS
Amiga Old File System
On the Amiga, the Old File System was the filesystem for Amiga OS 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...

, filesystem integrity is very rarely compromised by this.

One particularly interesting feature of SFS (and almost unique to Amiga filesystems) is its ability to defragment itself while the filesystem is in use, even for locked files. 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.

History

SFS is a free filesystem written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 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. Another MorphOS developer, Joerg Storhmayer, left the team few years later and contributed MorphOS SFS to AmigaOS 4.

Since May 2005 the SFS source code is available under the LGPL
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

 license. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

, AROS
AROS Research Operating System
AROS Research Operating System is a free and open source multi media centric implementation of the AmigaOS 3.1 APIs. Designed to be portable and flexible, ports are currently available for x86-based and PowerPC-based PCs in native and hosted flavors, with other architectures in development...

, AmigaOS 3
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

, and a version for AmigaOS 4
AmigaOS 4
AmigaOS 4, , is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code, and partially on version 3.9 developed by Haage & Partner...

, which have different feature sets but remain compatible to each other. In addition, there is a driver for Linux to read Amiga SFS volumes.

Versions

  • AROS: 1.84
  • AmigaOS 3: 1.279
  • AmigaOS 4: 1.279
  • MorphOS: 1.219
  • Linux: 1.0beta12


Versions for AROS, AmigaOS and MorphOS are based on different branch.

See also

  • Old File System
    Amiga Old File System
    On the Amiga, the Old File System was the filesystem for Amiga OS 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...

  • Fast File System
    Amiga Fast File System
    The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem upon the release of FFS became known as Amiga Old File System . OFS, while fine on floppy disk, soon proved too slow to keep up with era hard drives...

  • Professional File System
    Professional File System
    The Professional File System is a filesystem originally developed commercially for the Amiga, it is now distributed on Aminet with a 4-clause BSD license. PFS tends to perform very well, due to the simplicity of design. Compatible successor of Ami-FileSafe....

  • File system
    File system
    A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

  • List of file systems
  • Rigid Disk Block
    Amiga Rigid Disk Block
    In computing, a rigid disk block is the block on a hard disk where the Amiga series of computers store the disk's partition and filesystem information. The PC equivalent of the Amiga's RDB is the master boot record ....

    (RDB)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK