File system

There are many file system designs and implementations – with various structure and features and various resulting characteristics such as speed, flexibility, security, size and more.

[3] A portion of the computer main memory can be set up as a RAM disk that serves as a storage device for a file system.

Generally, it allocates storage device space in a granular manner, usually multiple physical units (i.e. bytes).

Choosing a relatively small size compared to the files stored, results in excessive access overhead.

Some of the most important features of file system utilities are supervisory activities which may involve bypassing ownership or direct access to the underlying device.

Examples include FAT (FAT12, FAT16, FAT32), exFAT, NTFS, ReFS, HFS and HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, Files-11, Veritas File System, VMFS, ZFS, ReiserFS, NSS and ScoutFS.

Mount Rainier is an extension to UDF supported since 2.6 series of the Linux kernel and since Windows Vista that facilitates rewriting to DVDs.

Magnetic tapes are sequential storage media with significantly longer random data access times than disks, posing challenges to the creation and efficient management of a general-purpose file system.

Around 1978 to 1988 Frank G. Soltis and his team at IBM Rochester had successfully designed and applied technologies like the database file system where others like Microsoft later failed to accomplish.

File locking also cannot automatically roll back a failed operation, such as a software upgrade; this requires atomicity.

Journal transactions are not exposed to programs as part of the OS API; they are only used internally to ensure consistency at the granularity of a single system call.

Programs using local interfaces can transparently create, manage and access hierarchical directories and files in remote network-connected computers.

[28] Examples include GFS2 from Red Hat, GPFS, now known as Spectrum Scale, from IBM, SFS from DataPlow, CXFS from SGI, StorNext from Quantum Corporation and ScoutFS from Versity.

Data was stored sequentially, usually in an unnamed format, although some systems (such as the Commodore PET series of computers) did allow the files to be named.

A recent addition to the flat file system family is Amazon's S3, a remote storage service, which is intentionally simplistic to allow users the ability to customize how their data is stored.

The only constructs are buckets (imagine a disk drive of unlimited size) and objects (similar, but not identical to the standard concept of a file).

Advanced file management is allowed by being able to use nearly any character (including '/') in the object's name, and the ability to select subsets of the bucket's content based on identical prefixes.

The /media directory exists on many Unix systems (as specified in the Filesystem Hierarchy Standard) and is intended specifically for use as a mount point for removable media such as CDs, DVDs, USB drives or floppy disks.

Unix-like operating systems often include software and tools that assist in the mounting process and provide it new functionality.

Solaris in earlier releases defaulted to (non-journaled or non-logging) UFS for bootable and supplementary file systems.

Logical Volume Management allows for spanning a file system across multiple devices for the purpose of adding redundancy, capacity, and/or throughput.

Modern Solaris based operating systems eclipse the need for volume management through leveraging virtual storage pools in ZFS.

Newer versions of macOS are capable of reading and writing to the legacy FAT file systems (16 and 32) common on Windows.

In order to write to NTFS file systems on macOS versions prior to Mac OS X Snow Leopard third-party software is necessary.

[31] Finally, macOS supports reading and writing of the exFAT file system since Mac OS X Snow Leopard, starting from version 10.6.5.

The FAT file systems are therefore well-suited as a universal exchange format between computers and devices of most any type and age.

Various features have been added to the file system including subdirectories, codepage support, extended attributes, and long filenames.

The anchor is a record called the Master File Directory (MFD), always located in the fourth block on the disk.

In some cases conversion can be done in-place, although migrating the file system is more conservative, as it involves a creating a copy of the data and is recommended.

An alternative, when there is not sufficient space to retain the original file system until the new one is created, is to use a work area (such as a removable media).

User Application Operating system Hardware
An example of slack space, demonstrated with 4,096- byte NTFS clusters: 100,000 files, each five bytes per file, which equal to 500,000 bytes of actual data but require 409,600,000 bytes of disk space to store
File systems may become fragmented
Example of qgroup (quota group) of a btrfs filesystem
Directory listing in a Windows command shell