Smart File System
   HOME

TheInfoList



OR:

The Smart File System (SFS) is a journaling filesystem used on
Amiga Amiga is a family of personal computers produced by Commodore International, Commodore from 1985 until the company's bankruptcy in 1994, with production by others afterward. The original model is one of a number of mid-1980s computers with 16-b ...
computers and
AmigaOS 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 ...
-derived
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s (though some support also exists for
IBM PC compatible An IBM PC compatible is any personal computer that is hardware- and software-compatible with the IBM Personal Computer (IBM PC) and its subsequent models. Like the original IBM PC, an IBM PC–compatible computer uses an x86-based central p ...
s). It is designed for performance,
scalability Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system. In an economic context, a scalable business model implies that ...
and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features.


Features

SFS uses block sizes ranging from 512 (29) to 32768 (215)
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
s 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, is achieved by grouping multiple directory entries into a single block and by grouping meta data blocks together into clusters. A
bitmap In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap. As a noun, the term "bitmap" is very often used to refer to a partic ...
is used to keep track of free space, and file data is kept track of using extents arranged into a
B+ tree A B+ tree is an m-ary tree with a variable but often large number of children per node. A B+ tree consists of a root, internal nodes and leaves. The root may be either a leaf or a node with two or more children. A B+ tree can be viewed as a B ...
structure. Integrity is maintained by keeping a
transaction log In the field of databases in computer science, a transaction log (also transaction journal, database log, binary log or audit trail) is a history of actions executed by a database management system used to guarantee ACID properties over crashes ...
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 halfway through. 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 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 ...
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. The filesystem may attempt to move a whole file to a different location when fragmentation is going to occur otherwise. The filesystem offers a directory containing deleted files for recovery.


History

SFS is written in C and was originally created and released as
freeware Freeware is software, often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the free ...
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 MorphOS is an AmigaOS-like operating system designed for Power and PowerPC based computers. The core, based on the Quark microkernel, is proprietary, although several libraries and other parts are open source, such as the Ambient desktop. The p ...
. Since May 2005 SFSobjec and SFSconfig are available under the
GPL The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first c ...
license. SFS development has now forked; as well as the original Amiga version, there are now versions for
MorphOS MorphOS is an AmigaOS-like operating system designed for Power and PowerPC based computers. The core, based on the Quark microkernel, is proprietary, although several libraries and other parts are open source, such as the Ambient desktop. The p ...
,
AROS AROS Research Operating System (AROS, pronounced "AR-OS") is a free and open-source multi media centric implementation of the AmigaOS 3.1 application programming interface (API) which is designed to be portable and flexible. , ports are availab ...
,
AmigaOS 3 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 ...
, and a version for
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore International, Commodore, and partially on version 3.9 develop ...
, which have different feature sets but remain compatible to each other. In addition, there is a driver for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
to read (experimental to write) Amiga SFS volumes,
GRUB GNU GRUB (short for GNU GRand Unified Bootloader, commonly referred to as GRUB) is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a use ...
natively supports it, and there are
free Free may refer to: Concept * Freedom, the ability to act or change without constraint or restriction * Emancipate, attaining civil and political rights or equality * Free (''gratis''), free of charge * Gratis versus libre, the difference betw ...
drivers to use it from
UEFI Unified Extensible Firmware Interface (UEFI, as an acronym) is a Specification (technical standard), specification for the firmware Software architecture, architecture of a computing platform. When a computer booting, is powered on, the UEFI ...
. , SFS was one of the independent filesystems still being used on Amiga computers. Versions for
AROS AROS Research Operating System (AROS, pronounced "AR-OS") is a free and open-source multi media centric implementation of the AmigaOS 3.1 application programming interface (API) which is designed to be portable and flexible. , ports are availab ...
,
AmigaOS 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 ...
and
MorphOS MorphOS is an AmigaOS-like operating system designed for Power and PowerPC based computers. The core, based on the Quark microkernel, is proprietary, although several libraries and other parts are open source, such as the Ambient desktop. The p ...
are based on different branches. The Linux version is independent code.


See also

*
Amiga Old File System On the Amiga, the Old File System, sometimes also called ''Amiga 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, ...
*
Amiga Fast File System The Amiga Fast File System (abbreviated AFFS, or more commonly historically as FFS) is a file system used on the Amiga personal computer from the computer-manufacturer Commodore Int'l.. The previous Amiga filesystem was never given a specific ...
*
Professional File System 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 spe ...
* Amiga rigid disk block *
List of file systems The following lists identify, characterize, and link to more thorough information on file systems. Many older operating systems support only their one "native" file system, which does not bear any name apart from the name of the operating system i ...


References


External links


Original SFS site
includin

*
OS4 SFS site
* {{File systems Disk file systems Amiga software AmigaOS 4 software AROS software MorphOS