All Topics  
File system

 

   Email Print
   Bookmark   Link






 

File system



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, a file system (often also written as filesystem) is a method for storing
Store

Store may refer to:*A Retailing#Retail types**Convenience store**Department store**General store**Grocery store**Online shopping**Supermarket...
 and organizing computer file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
s and the data they contain to make it easy to find and access them. File systems may use a data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
 such as a hard disk
Hard disk

A hard disk drive , commonly referred to as a hard drive, hard disk, or fixed disk drive, is a non-volatile storage device which stores digitally encoded data on rapidly rotating hard disk platters with magnetic surfaces....
 or CD-ROM
CD-ROM

CD-ROM is a pre-pressed Compact Disc that contains Computer data storage accessible to, but not writable by, a computer. While the Compact Disc format was originally designed for music storage and playback, the 1985 Yellow Book standard developed by Sony and Philips adapted the format to hold any form of Binary file....
 and involve maintaining the physical location of the files, they might provide access to data on a file server by acting as clients for a network protocol (e.g., NFS, SMB
Server Message Block

In computer networking, Server Message Block operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
, or 9P
9P

9P , is a network protocol developed for the Plan 9 from Bell Labs distributed operating systemas the means of connecting the components of a Plan 9 system....
 clients), or they may be virtual and exist only as an access method for virtual data (e.g., procfs
Procfs

On many Unix-like computer systems, procfs, short for process file system, consists of a pseudo file system used to access process information from the kernel ....
).






Discussion
Ask a question about 'File system'
Start a new discussion about 'File system'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, a file system (often also written as filesystem) is a method for storing
Store

Store may refer to:*A Retailing#Retail types**Convenience store**Department store**General store**Grocery store**Online shopping**Supermarket...
 and organizing computer file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
s and the data they contain to make it easy to find and access them. File systems may use a data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
 such as a hard disk
Hard disk

A hard disk drive , commonly referred to as a hard drive, hard disk, or fixed disk drive, is a non-volatile storage device which stores digitally encoded data on rapidly rotating hard disk platters with magnetic surfaces....
 or CD-ROM
CD-ROM

CD-ROM is a pre-pressed Compact Disc that contains Computer data storage accessible to, but not writable by, a computer. While the Compact Disc format was originally designed for music storage and playback, the 1985 Yellow Book standard developed by Sony and Philips adapted the format to hold any form of Binary file....
 and involve maintaining the physical location of the files, they might provide access to data on a file server by acting as clients for a network protocol (e.g., NFS, SMB
Server Message Block

In computer networking, Server Message Block operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
, or 9P
9P

9P , is a network protocol developed for the Plan 9 from Bell Labs distributed operating systemas the means of connecting the components of a Plan 9 system....
 clients), or they may be virtual and exist only as an access method for virtual data (e.g., procfs
Procfs

On many Unix-like computer systems, procfs, short for process file system, consists of a pseudo file system used to access process information from the kernel ....
). It is distinguished from a directory service
Directory service

In software engineering, a directory is similar to a dictionary; it enables the look up of a name and information associated with that name. As a word in a dictionary may have multiple definitions, in a directory, a name may be associated with multiple, different, pieces of information....
 and registry
Windows registry

The Windows Registry is a directory which stores settings and options for Microsoft Windows operating systems. It contains information and settings for all the hardware, operating system software, most non-operating system software, and per-user settings....
.

More formally, a file system is a special-purpose database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
 for the storage, organization, manipulation, and retrieval of data
DATA

Debt, AIDS, Trade in Africa is a multinational Non-governmental organization founded in January 2002 in London by U2's Bono along with Robert Sargent Shriver III and activists from the Jubilee 2000 Drop the Debt campaign....
.

Aspects of file systems

Most file systems make use of an underlying data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
 that offers access to an array of fixed-size blocks, sometimes called sectors, generally a power of 2 in size (512 byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
s or 1, 2, or 4 KiB
Kibibyte

A kibibyte is a unit of information or computer storage, established by the International Electrotechnical Commission in 2000. Its symbol is KiB....
 are most common). The file system software is responsible for organizing these sectors into files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
 and directories
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
, and keeping track of which sectors belong to which file and which are not being used. Most file systems address data in fixed-sized units called "clusters
Cluster (file system)

In computer file systems, a cluster is the unit of disk space allocation for files and directories. In order to reduce the overhead of managing on-disk data structures, the filesystem does not allocate individual disk sector, but contiguous groups of sectors, called clusters....
" or "block
Block (data storage)

In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured is said to be blocked. The process of putting data into blocks is called blocking....
s" which contain a certain number of disk sector
Disk sector

In the context of computer disk storage, a sector is a subdivision of a Track on a magnetic disk or optical disc. Each sector stores a fixed amount of data....
s (usually 1-64). This is the smallest amount of disk space that can be allocated to hold a file.

However, file systems need not make use of a storage device at all. A file system can be used to organize and represent access to any data, whether it be stored or dynamically generated (e.g., procfs
Procfs

On many Unix-like computer systems, procfs, short for process file system, consists of a pseudo file system used to access process information from the kernel ....
).

File names

Whether the file system has an underlying storage device or not, file systems typically have directories which associate file names
Filename

A filename is a special kind of String used to uniquely identify a computer file stored on the file system of a computer. Some operating systems also identify directory in the same way....
 with files, usually by connecting the file name to an index in a file allocation table
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 of some sort, such as the FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 in a DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
 file system, or an inode
Inode

In computing, an inode is a data structure on a traditional Unix-style file system such as Unix File System. An inode stores basic information about a regular computer file, directory , or other file system object....
 in a Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 file system. Directory structures may be flat, or allow hierarchies where directories may contain subdirectories. In some file systems, file names are structured, with special syntax for filename extension
Filename extension

A filename extension is a substring to the filename of a computer file applied to indicate the encoding convention of its contents.In some operating systems it is optional, while in some others it is a requirement....
s and version numbers. In others, file names are simple strings, and per-file metadata is stored elsewhere.

Metadata

Other bookkeeping information is typically associated with each file within a file system. The length
File size

File size measures the size of a computer computer file. Typically it is measured in bytes with a prefix. The actual amount of Computer data storage consumed by the file depends on the file system....
 of the data contained in a file may be stored as the number of blocks allocated for the file or as an exact byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
 count. The time that the file was last modified may be stored as the file's timestamp. Some file systems also store the file creation time, the time it was last accessed, and the time that the file's meta-data was changed. (Note that many early PC
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 operating systems did not keep track of file times.) Other information can include the file's device type (e.g., block
Device file system

In Unix-like operating systems, a device file system or special file system allows software to interact with a device driver using standard input/output system calls, which simplifies many tasks....
, character
Device file system

In Unix-like operating systems, a device file system or special file system allows software to interact with a device driver using standard input/output system calls, which simplifies many tasks....
, socket
Internet socket

An Internet socket is used in inter-process communication across an Internet Protocol based Computer_network such as the Internet. Internet sockets constitute a mechanism for delivering incoming data packets to the appropriate application process or Thread , based on a combination of local and remote IP addresses and port numbers....
, subdirectory, etc.), its owner user-ID
User (computing)

In computing, a user is a person who uses a computer or Internet service. A user may have a user account that identifies the user by a username , screenname , or "handle", which is derived from the identical Citizen's Band radio term....
 and group-ID
Group (computing)

In computing, the term group generally refers to a grouping of User . In principle, users may belong to none, one, or many groups The primary purpose of user groups is to simplify Access control#Computer_security to computer systems....
, and its access permission
File system permissions

Most modern file systems have methods of administering permissions or access rights to specific user and groups of users. These systems control the ability of the users affected to view or make changes to the contents of the file system....
 settings (e.g., whether the file is read-only, executable
Executable

In computing, an executable causes a computer "to perform indicated tasks according to encoded instruction ," as opposed to a file that only contains data ....
, etc.).

Arbitrary attributes can be associated on advanced file systems, such as XFS
XFS

XFS is a high-performance journaling file system created by Silicon Graphics, originally for their IRIX operating system and later ported to Linux kernel....
, ext2
Ext2

The ext2 or second extended filesystem is a file system for the Linux kernel . It was initially designed by R?my Card as a replacement for the extended file system ....
/ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
, some versions of UFS
Unix File System

The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the University of California, Berkeley Fast File System, the Berkeley Software Distribution Fast File System or FFS....
, and HFS+, using extended file attributes
Extended file attributes

Extended file attributes is a file system feature that enables users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem ....
. This feature is implemented in the kernels of Linux
Linux kernel

The Linux kernel is an operating system kernel used by a family of Unix-like operating systems. The term Linux distribution is used to refer to the various operating systems that run on top of the Linux Kernel....
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
 and Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 operating systems, and allows metadata to be associated with the file at the file system level. This, for example, could be the author of a document, the character encoding of a plain-text document, or a checksum
Checksum

A checksum or hash sum is a fixed-size data computed from an arbitrary block of digital data for the purpose of error detection that may have been introduced during its telecommunications or computer storage....
.

Hierarchical file systems

The hierarchical file system was an early research interest of Dennis Ritchie
Dennis Ritchie

Dennis MacAlistair Ritchie is an American computer science notable for his influence on C and other programming languages, and on operating systems such as Multics and Unix....
 of Unix fame; previous implementations were restricted to only a few levels, notably the IBM implementations, even of their early databases like IMS. After the success of Unix, Ritchie extended the file system concept to every object in his later operating system developments, such as Plan 9
Plan 9 from Bell Labs

Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002....
 and Inferno
Inferno (operating system)

Inferno is an operating system for creating and supporting distributed services.It was based on the experience of Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability....
.

Facilities

Traditional file systems offer facilities to create, move and delete both files and directories. They lack facilities to create additional links to a directory (hard link
Hard link

In computing, a hard link is a directory reference, or pointer, to a file on a storage volume. The name associated with the file is a label stored in a directory structure that refers the operating system to the file data....
s in Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
), rename parent links (".." in Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 OS), and create bidirectional links to files.

Traditional file systems also offer facilities to truncate, append to, create, move, delete and in-place modify files. They do not offer facilities to prepend to or truncate from the beginning of a file, let alone arbitrary insertion into or deletion from a file. The operations provided are highly asymmetric and lack the generality to be useful in unexpected contexts. For example, interprocess pipes
Pipeline (Unix)

In Unix-like computer operating systems, a pipeline is the original pipeline : a set of process es chained by their standard streams, so that the output of each process feeds directly as input of the next one....
 in Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 have to be implemented outside of the file system because the pipes concept does not offer truncation
Truncation

In mathematics, truncation is the term for limiting the number of numerical digits right of the decimal point, by discarding the least significant ones....
 from the beginning of files.

Secure access

Secure access to basic file system operations can be based on a scheme of access control list
Access control list

With respect to a computer filesystem, an access control list is a list of permissions attached to an object. The list specifies who or what is allowed to access the object and what operations are allowed to be performed on the object....
s or capabilities. Research has shown access control lists to be difficult to secure properly, which is why research operating systems tend to use capabilities. Commercial file systems still use access control lists.

Types of file systems

File system types can be classified into disk file systems, network file systems and special purpose file systems.

Disk file systems

A disk file system is a file system designed for the storage of files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
 on a data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
, most commonly a disk drive, which might be directly or indirectly connected to the computer. Examples of disk file systems include FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 (FAT12, FAT16, FAT32, exFAT), NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
, HFS
Hierarchical File System

Hierarchical File System , is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy disk and hard disks, it can also be found on read-only media such as CD-ROMs....
 and HFS+
HFS Plus

HFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System as the primary file system used in Apple Macintosh computers ....
, HPFS
HPFS

HPFS or High Performance File System is a file system created specifically for the OS/2 operating system to improve upon the limitations of the File Allocation Table file system....
, ext2
Ext2

The ext2 or second extended filesystem is a file system for the Linux kernel . It was initially designed by R?my Card as a replacement for the extended file system ....
, ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
, ext4
Ext4

The ext4 or fourth extended filesystem is a journaling file system developed as the successor to ext3. It was born as a series of backwards-compatible extensions to add to ext3 64-bit storage limits and other performance improvements....
, ISO 9660
ISO 9660

ISO 9660, also called CDFS by some manufacturers, a standard published by the International Organization for Standardization , defines a file system for CD-ROM media....
, ODS-5
Files-11

Files-11, also known as on-disk structure, is the file system used by Hewlett-Packard's OpenVMS operating system, and also by the older RSX-11....
, ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
 and UDF
Universal Disk Format

The Universal Disk Format is a format specification of a file system for storing files on Optical disc. It is an implementation of the ISO/IEC 13346 standard ....
. Some disk file systems are journaling file system
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
s or versioning file system
Versioning file system

A versioning file system is any computer file system which allows a computer file to exist in several versions at the same time. Thus it is a form of revision control....
s.

Flash file systems


A flash file system is a file system designed for storing files on flash memory
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
 devices. These are becoming more prevalent as the number of mobile devices is increasing, and the capacity of flash memories increase.

While a disk file system can be used on a flash device, this is suboptimal for several reasons:
  • Erasing blocks: Flash memory blocks have to be explicitly erased before they can be rewritten. The time taken to erase blocks can be significant, thus it is beneficial to erase unused blocks while the device is idle.
  • Random access
    Random access

    In computer science, random access is the ability to access an arbitrary element of a sequence in equal time. The opposite is sequential access, where a remote element takes longer time to access....
    : Disk file systems are optimized to avoid disk seeks whenever possible, due to the high cost of seeking. Flash memory devices impose no seek latency.
  • Wear levelling
    Wear levelling

    Wear levelling is a technique for prolonging the service life of some kinds of erasable computer storage media, such as flash memory.The term has also been used by Western Digital to describe their hard disk preservation technique, but hard disks are not generally wear-levelled devices....
    : Flash memory devices tend to wear out when a single block is repeatedly overwritten; flash file systems are designed to spread out writes evenly.


Log-structured file system
Log-structured file system

A log-structured filesystem is a file system design first proposed by John K. Ousterhout and Fred Douglis. Designed for high write throughput, all updates to data and metadata are written sequentially to a continuous stream, called a log....
s have many of the desirable properties for a flash file system. Such file systems include JFFS2
JFFS2

Journalling Flash File System version 2 or JFFS2 is a log-structured file system for use in flash memory devices. It is the successor to JFFS....
 and YAFFS
YAFFS

YAFFS was designed and written by Charles Manning, of Whitecliffs, New Zealand, for the company . YAFFS is the first file system that was designed specifically for NAND flash....
.

Database file systems

A new concept for file management is the concept of a database-based file system. Instead of, or in addition to, hierarchical structured management, files are identified by their characteristics, like type of file, topic, author, or similar metadata.

Transactional file systems

Each disk operation may involve changes to a number of different files and disk structures. In many cases, these changes are related, meaning that it is important that they all be executed at the same time. Take for example a bank sending another bank some money electronically. The bank's computer will "send" the transfer instruction to the other bank and also update its own records to indicate the transfer has occurred. If for some reason the computer crashes before it has had a chance to update its own records, then on reset, there will be no record of the transfer but the bank will be missing some money.

Transaction processing
Transaction processing

In computer science, transaction processing is information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit; it cannot remain in an intermediate state....
 introduces the guarantee that at any point while it is running, a transaction can either be finished completely or reverted completely (though not necessarily both at any given point). This means that if there is a crash or power failure, after recovery, the stored state will be consistent. (Either the money will be transferred or it will not be transferred, but it won't ever go missing "in transit".)

This type of file system is designed to be fault tolerant, but may incur additional overhead to do so.

Journaling file system
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
s are one technique used to introduce transaction-level consistency to filesystem structures.

Network file systems


A network file system is a file system that acts as a client for a remote file access protocol, providing access to files on a server. Examples of network file systems include clients for the NFS, AFS
Andrew file system

The Andrew File System is a distributed file system which uses a set of trusted servers to present a homogeneous, location-transparent file name space to all the client workstations....
, SMB
Server Message Block

In computer networking, Server Message Block operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
 protocols, and file-system-like clients for FTP
File Transfer Protocol

File Transfer Protocol is a network protocol used to transfer data from one computer to another through a network such as the Internet.FTP is a file transfer protocol for exchanging and manipulating files over a Transmission Control Protocol computer network....
 and WebDAV
WebDAV

Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol that allows users to collaboratively edit and manage files on remote World Wide Web servers....
.

Special purpose file systems

A special purpose file system is basically any file system that is not a disk file system or network file system. This includes systems where the files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
 are arranged dynamically by software, intended for such purposes as communication between computer processes or temporary file space.

Special purpose file systems are most commonly used by file-centric operating systems such as Unix. Examples include the procfs
Procfs

On many Unix-like computer systems, procfs, short for process file system, consists of a pseudo file system used to access process information from the kernel ....
 (/proc) file system used by some Unix variants, which grants access to information about process
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
es and other operating system features.

Deep space science exploration craft, like Voyager I & II used digital tape
Magnetic tape data storage

Magnetic tape has been used for data storage for over 50 years. In this time, many advances in tape formulation, packaging, and data density have been made....
-based special file systems. Most modern space exploration craft like Cassini-Huygens
Cassini-Huygens

Cassini?Huygens is a joint NASA/European Space Agency robotic spacecraft mission currently studying the planet Saturn and Saturn's natural satellites....
 used Real-time operating system
Real-time operating system

A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
 file systems or RTOS influenced file systems. The Mars Rover
Mars Rover

A Mars rover is a spacecraft which propels itself across the surface of Mars after Mars landing .Rover have several advantages over stationary Lander : they examine more territory, they can be directed to interesting features, they can place themselves in sunny positions to weather winter months and they can advance the knowledge of how...
s are one such example of an RTOS file system, important in this case because they are implemented in flash memory
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
.

Crash counting is a feature of a file system designed as an alternative to journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
. It is claimed that it maintains consistency across crashes without the code complexity of implementing journaling.

File systems and operating systems

Most operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s provide a file system, as a file system is an integral part of any modern operating system. Early microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
 operating systems' only real task was file management — a fact reflected in their names (see DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
). Some early operating systems had a separate component for handling file systems which was called a disk operating system. On some microcomputers, the disk operating system was loaded separately from the rest of the operating system. On early operating systems, there was usually support for only one, native, unnamed file system; for example, CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 supports only its own file system, which might be called "CP/M file system" if needed, but which didn't bear any official name at all.

Because of this, there needs to be an interface provided by the operating system software between the user and the file system. This interface can be textual (such as provided by a command line interface
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
, such as the Unix shell
Unix shell

A Unix shell is a command-line interpreter and script host that provides a traditional user interface for the Unix operating system and for Unix-like systems....
, or OpenVMS DCL
DIGITAL Command Language

DCL, the DIGITAL Command Language, is the standard command languageadopted by most of the operating systems that were sold by the former Digital Equipment Corporation ....
) or graphical (such as provided by a graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
, such as file browsers). If graphical, the metaphor of the folder
Folder

The term folder can refer to several different things:*File folder, a kind of folder that holds loose papers*Directory , a part of a computer file system often called a folder; see Directory #The folder metaphor...
, containing documents, other files, and nested folders is often used (see also: directory
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
 and folder
Folder

The term folder can refer to several different things:*File folder, a kind of folder that holds loose papers*Directory , a part of a computer file system often called a folder; see Directory #The folder metaphor...
).

Flat file systems

In a flat file system, there are no subdirectories
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
—everything is stored at the same (root
Root directory

In computing file systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the root of a tree - the starting point where all branches originate....
) level on the media, be it a hard disk
Hard disk

A hard disk drive , commonly referred to as a hard drive, hard disk, or fixed disk drive, is a non-volatile storage device which stores digitally encoded data on rapidly rotating hard disk platters with magnetic surfaces....
, floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
, etc. While simple, this system rapidly becomes inefficient as the number of files grows, and makes it difficult for users to organize data into related groups.

Like many small systems before it, the original Apple Macintosh featured a flat file system, called Macintosh File System
Macintosh File System

Macintosh File System is a volume format created by Apple Computer for storing files on 400K floppy disks. MFS was introduced with the Macintosh 128K in January 1984....
. Its version of Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
 was unusual in that the file management software (Macintosh Finder
Macintosh Finder

The Finder is the default application software program used on the Mac OS and Mac OS X operating systems that is responsible for the overall user-management of files, disks, network volumes and the launching of other applications....
) created the illusion of a partially hierarchical filing system on top of MFS. This structure meant that every file on a disk had to have a unique name, even if it appeared to be in a separate folder. MFS was quickly replaced with Hierarchical File System
Hierarchical File System

Hierarchical File System , is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy disk and hard disks, it can also be found on read-only media such as CD-ROMs....
, which supported real directories
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
.

A recent addition to the flat file system family is Amazon's
Amazon.com

Amazon.com, Inc. is an American electronic commerce company in Seattle, Washington. It is America's largest online retailer, with nearly three times the internet sales revenue of runner up Staples, Inc....
 S3
Amazon S3

Amazon S3 is an online storage web service offered by Amazon Web Services. Amazon S3 provides unlimited storage through a simple web services interface....
, 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). Advance file management is allowed by being able to use nearly any character (including '/') in the objects name, and the ability to select subsets of the bucket's content based on identical prefixes.

File systems under Unix-like operating systems


Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating systems create a virtual file system, which makes all the files on all the devices appear to exist in a single hierarchy. This means, in those systems, there is one root directory
Root directory

In computing file systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the root of a tree - the starting point where all branches originate....
, and every file existing on the system is located under it somewhere. Unix-like systems can use a RAM disk
RAM disk

A RAM disk is a software layer that enables applications to transparently use RAM, often a segment of main memory, as if it were a hard disk or other secondary storage....
 or network shared resource as its root directory.

Unix-like systems assign a device name to each device, but this is not how the files on that device are accessed. Instead, to gain access to files on another device, the operating system must first be informed where in the directory tree those files should appear. This process is called mounting
Mount (computing)

Mounting, in computer science, is the process of making a file system ready for use by the operating system, typically by reading certain index data structures from storage into memory ahead of time....
 a file system. For example, to access the files on a CD-ROM
CD-ROM

CD-ROM is a pre-pressed Compact Disc that contains Computer data storage accessible to, but not writable by, a computer. While the Compact Disc format was originally designed for music storage and playback, the 1985 Yellow Book standard developed by Sony and Philips adapted the format to hold any form of Binary file....
, one must tell the operating system "Take the file system from this CD-ROM and make it appear under such-and-such directory". The directory given to the operating system is called the mount point - it might, for example, be /media. The /media directory exists on many Unix systems (as specified in the Filesystem Hierarchy Standard
Filesystem Hierarchy Standard

The Filesystem Hierarchy Standard defines the main directories and their contents in most software systems using UNIX and Unix-like operating systems....
) and is intended specifically for use as a mount point for removable media such as CDs, DVDs and like floppy disks. It may be empty, or it may contain subdirectories for mounting individual devices. Generally, only the administrator
System administrator

A system administrator, systems administrator, or sysadmin, is a person employed to maintain and operate a computer system and/or computer network....
 (i.e. root user) may authorize the mounting of file systems.

Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating systems often include software and tools that assist in the mounting process and provide it new functionality. Some of these strategies have been coined "auto-mounting" as a reflection of their purpose.
  1. In many situations, file systems other than the root need to be available as soon as the operating system has booted
    Booting

    In computing, booting is a Bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on....
    . All Unix-like systems therefore provide a facility for mounting file systems at boot time. System administrator
    System administrator

    A system administrator, systems administrator, or sysadmin, is a person employed to maintain and operate a computer system and/or computer network....
    s define these file systems in the configuration file fstab
    Fstab

    The fstab file is commonly found on Unix systems as part of the system computer configuration. The fstab file typically lists all available disks and disk partition s, and indicates how they are to be initialized or otherwise integrated into the overall system's file system....
     or vfstab in Solaris Operating Environment, which also indicates options and mount points.
  2. In some situations, there is no need to mount certain file systems at boot time
    Booting

    In computing, booting is a Bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on....
    , although their use may be desired thereafter. There are some utilities for Unix-like systems that allow the mounting of predefined file systems upon demand.
  3. Removable media have become very common with microcomputer
    Microcomputer

    A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
     platforms. They allow programs and data to be transferred between machines without a physical connection. Common examples include USB flash drive
    USB flash drive

    A USB flash drive consists of a Flash memory#NAND memories-type flash memory data storage device integrated with a USB interface. USB flash drives are typically removable and rewritable, much smaller than a floppy disk , and most USB flash drives weigh less than an ounce ....
    s, CD-ROM
    CD-ROM

    CD-ROM is a pre-pressed Compact Disc that contains Computer data storage accessible to, but not writable by, a computer. While the Compact Disc format was originally designed for music storage and playback, the 1985 Yellow Book standard developed by Sony and Philips adapted the format to hold any form of Binary file....
    s, and DVD
    DVD

    DVD, also known as "Digital Versatile Disc" or "Digital Video Disc,"is a popular optical disc data storage device media format. Its main uses are video and data storage....
    s. Utilities have therefore been developed to detect the presence and availability of a medium and then mount that medium without any user intervention.
  4. Progressive Unix-like systems have also introduced a concept called supermounting; see, for example, . For example, a floppy disk that has been supermounted can be physically removed from the system. Under normal circumstances, the disk should have been synchronized and then unmounted before its removal. Provided synchronization has occurred, a different disk can be inserted into the drive. The system automatically notices that the disk has changed and updates the mount point contents to reflect the new medium. Similar functionality is found on Windows machines.
  5. A similar innovation preferred by some users is the use of , a system that, like supermounting, eliminates the need for manual mounting commands. The difference from supermount, other than compatibility in an apparent greater range of applications such as access to file systems on network servers
    Distributed file system

    A network file system is any computer file system that supports resource sharing of computer file, printers and other resources as persistent storage over a computer network....
    , is that devices are mounted transparently when requests to their file systems are made, as would be appropriate for file systems on network servers, rather than relying on events such as the insertion of media, as would be appropriate for removable media.


File systems under Linux
Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 supports many different file systems, but common choices for the system disk include the ext* family (such as ext2
Ext2

The ext2 or second extended filesystem is a file system for the Linux kernel . It was initially designed by R?my Card as a replacement for the extended file system ....
 and ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
), XFS
XFS

XFS is a high-performance journaling file system created by Silicon Graphics, originally for their IRIX operating system and later ported to Linux kernel....
, JFS and ReiserFS
ReiserFS

ReiserFS is a general-purpose, journaling file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux....
.

File systems under Solaris
The Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 Solaris operating system
Solaris Operating System

Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
 in earlier releases defaulted to (non-journaled or non-logging) UFS
Unix File System

The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the University of California, Berkeley Fast File System, the Berkeley Software Distribution Fast File System or FFS....
 for bootable and supplementary file systems. Solaris (as most operating systems based upon open standards and/or open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
) defaulted to, supported, and extended UFS.

Support for other file systems and significant enhancements were added over time, including Veritas Software
VERITAS Software

Veritas Software Corp. was an international software company that was founded in 1983 as Tolerant Systems, renamed Veritas Software Corp. in 1989, and merged with Symantec in 2005....
 Corp. (Journaling) VxFS, Sun Microsystems (Clustering) QFS
QFS

QFS is an open source filesystem from Sun Microsystems. It is tightly integrated with SAM, the Storage and Archive Manager, and hence is often referred to as SAM-QFS....
, Sun Microsystems (Journaling) UFS, and Sun Microsystems (open source, poolable, 128 bit compressible, and error-correcting) ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
.

Kernel extensions were added to Solaris to allow for bootable Veritas VxFS operation. Logging or Journaling
Journaling

Journaling may refer to:* Keeping a diary* Journaling file systems, a technique in computer file systems to prevent corruption* Autobiographical therapeutic writing...
 was added to UFS in Sun's Solaris 7. Releases of Solaris 10, Solaris Express, OpenSolaris
OpenSolaris

File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
, and other open source variants of the Solaris operating system later supported bootable ZFS.

Logical Volume Management
Logical volume management

In computer storage, logical volume management or LVM is a method of allocating space on mass storage devices that is more flexible than conventional partition schemes....
 allows for spanning a file system across multiple devices for the purpose of adding redundancy, capacity, and/or throughput. Legacy environments in Solaris may use Solaris Volume Manager
Solaris Volume Manager

Solaris Volume Manager is a software package for creating, modifying and controlling Redundant array of independent disks-0 volumes, RAID-1 volumes, RAID 0+1 volumes, RAID 1+0 volumes, RAID-5 volumes, and soft partitions....
 (formerly known as Solstice DiskSuite.) Multiple operating systems (including Solaris) may use Veritas Volume Manager
Veritas Volume Manager

The Veritas Volume Manager, VVM or VxVM is a proprietary software logical volume management from Veritas Software . It is available for Microsoft Windows, AIX Operating System, Solaris , Linux, and HP-UX....
. Modern Solaris based operating systems eclipse the need for Volume Management through leveraging virtual storage pools in ZFS.

File systems under Mac OS X
Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 uses a file system that it inherited from classic Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
 called HFS Plus
HFS Plus

HFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System as the primary file system used in Apple Macintosh computers ....
. HFS Plus is a metadata-rich and case preserving
Case preservation

When a computer file system stores text, the computer may keep or discard Letter case information. When the case is stored, it is called case preservation....
 file system. Due to the Unix roots of Mac OS X, Unix permissions were added to HFS Plus. Later versions of HFS Plus added journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
 to prevent corruption of the file system structure and introduced a number of optimizations to the allocation algorithms in an attempt to defragment files automatically without requiring an external defragmenter.

Filenames can be up to 255 characters. HFS Plus uses Unicode
Unicode

Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
 to store filenames. On Mac OS X, the filetype
File format

A file format is a particular way to encode information for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa....
 can come from the type code
Type code

A type code is the only mechanism used in pre-Mac OS X versions of the Apple Macintosh operating system to denote a file's file format, in a manner similar to file extensions in other operating systems....
, stored in file's metadata, or the filename.

HFS Plus has three kinds of links: Unix-style hard link
Hard link

In computing, a hard link is a directory reference, or pointer, to a file on a storage volume. The name associated with the file is a label stored in a directory structure that refers the operating system to the file data....
s, Unix-style symbolic link
Symbolic link

In computing, a symbolic link is a special type of computer file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution....
s and aliases
Alias (Mac OS)

In Mac OS System 7 and later, an alias is a small file that represents another object in a local, remote, or removable file system. It is similar to the Unix symbolic link, but with the added benefit of working even if the target file moves to another location on the same disk....
. Aliases are designed to maintain a link to their original file even if they are moved or renamed; they are not interpreted by the file system itself, but by the File Manager code in userland.

Mac OS X also supports the UFS
Unix File System

The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the University of California, Berkeley Fast File System, the Berkeley Software Distribution Fast File System or FFS....
 file system, derived from the BSD Unix Fast File System via NeXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
. However, as of Mac OS X 10.5 (Leopard), Mac OS X can no longer be installed on a UFS volume, nor can a pre-Leopard system installed on a UFS volume be upgraded to Leopard.

File systems under Plan 9 from Bell Labs

Plan 9 from Bell Labs
Plan 9 from Bell Labs

Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002....
 was originally designed to extend some of Unix's good points, and to introduce some new ideas of its own while fixing the shortcomings of Unix.

With respect to file systems, the Unix system of treating things as files was continued, but in Plan 9, everything is treated as a file, and accessed as a file would be (i.e., no ioctl
Ioctl

In computing, an ioctl is part of the userspace-to-kernel interface of a conventional operating system. Short for "Input/output control", ioctls are typically employed to allow userspace code to communicate with hardware devices or kernel components....
 or mmap
Mmap

In computing, mmap is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped file I/O....
). Perhaps surprisingly, while the file interface is made universal it is also simplified considerably, for example symlinks, hard links and suid are made obsolete, and an atomic create/open operation is introduced. More importantly the set of file operations becomes well defined and subversions of this like ioctl are eliminated.

Secondly, the underlying 9P
9P

9P , is a network protocol developed for the Plan 9 from Bell Labs distributed operating systemas the means of connecting the components of a Plan 9 system....
 protocol was used to remove the difference between local and remote files (except for a possible difference in latency
Lag

In computing and especially computer networks, lag is a term used where the computer freezes and then continues some time later when an action is performed, for example clicking a mouse button....
). This has the advantage that a device or devices, represented by files, on a remote computer could be used as though it were the local computer's own device(s). This means that under Plan 9, multiple file servers provide access to devices, classing them as file systems. Servers for "synthetic" file systems can also run in user space bringing many of the advantages of micro kernel systems while maintaining the simplicity of the system.

Everything on a Plan 9 system has an abstraction as a file; networking, graphics, debugging, authentication, capabilities, encryption, and other services are accessed via I-O operations on file descriptors. For example, this allows the use of the IP stack of a gateway machine without need of NAT, or provides a network-transparent window system without the need of any extra code.

Another example: a Plan-9 application receives FTP
File Transfer Protocol

File Transfer Protocol is a network protocol used to transfer data from one computer to another through a network such as the Internet.FTP is a file transfer protocol for exchanging and manipulating files over a Transmission Control Protocol computer network....
 service by opening an FTP site. The ftpfs
FTPFS

FTPFS refers to file systems that support access to a File Transfer Protocol server through standard file system application programming interfaces ....
 server handles the open by essentially mounting the remote FTP site as part of the local file system. With ftpfs as an intermediary, the application can now use the usual file-system operations to access the FTP site as if it were part of the local file system. A further example is the mail system which uses file servers that synthesize virtual files and directories to represent a user mailbox as /mail/fs/mbox. The wikifs
Wikifs

wikifs is a wiki file system for the Plan 9 from Bell Labs and Inferno operating systems. It allows wiki pages to be served as web pages, and viewed and edited with the Acme text editor....
 provides a file system interface to a wiki.

These file systems are organized with the help of private, per-process namespaces, allowing each process to have a different view of the many file systems that provide resources in a distributed system.

The Inferno operating system
Inferno (operating system)

Inferno is an operating system for creating and supporting distributed services.It was based on the experience of Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability....
 shares these concepts with Plan 9.

File systems under Microsoft Windows

Windows makes use of the FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 and NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
 file systems.

The File Allocation Table (FAT) filing system, supported by all versions of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, was an evolution of that used in Microsoft's earlier operating system (MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 which in turn was based on 86-DOS). FAT ultimately traces its roots back to the short-lived M-DOS
M-DOS

M-DOS or MIDAS refers to an operating system that was designed by Microsoft in 1979, probably by Tim Paterson . It was designed for the 8080/Z80 microprocessors, popular due to CP/M at the time....
 project and Standalone disk BASIC
Microsoft BASIC

Microsoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC programming language available for the Altair 8800 hobbyist microcomputer....
 before it. Over the years various features have been added to it, inspired by similar features found on file systems used by operating systems such as Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
.

Older versions of the FAT file system (FAT12 and FAT16) had file name length limits, a limit on the number of entries in the root directory of the file system and had restrictions on the maximum size of FAT-formatted disks or partitions. Specifically, FAT12 and FAT16 had a limit of 8 characters for the file name, and 3 characters for the extension (such as .exe). This is commonly referred to as the 8.3 filename limit. VFAT, which was an extension to FAT12 and FAT16 introduced in Windows NT 3.5
Windows NT 3.5

Windows NT 3.5 is the second release of the Microsoft Windows NT operating system. It was released on September 21 1994.One of the primary goals during Windows NT 3.5's development was to increase the speed of the operating system; as a result, the project was given the codename "Daytona" in reference to the Daytona International Speedway...
 and subsequently included in Windows 95, allowed long file names (LFN). FAT32 also addressed many of the limits in FAT12 and FAT16, but remains limited compared to NTFS.

NTFS, introduced with the Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 operating system, allowed ACL
Access control list

With respect to a computer filesystem, an access control list is a list of permissions attached to an object. The list specifies who or what is allowed to access the object and what operations are allowed to be performed on the object....
-based permission control. Hard links, multiple file streams, attribute indexing, quota tracking, compression and mount-points for other file systems (called "junctions") are also supported, though not all these features are well-documented.

Unlike many other operating systems, Windows uses a drive letter abstraction at the user level to distinguish one disk or partition from another. For example, the path
Path (computing)

A path is the general form of a computer file or directory name, specifying a unique location in a file system. A path points to a file system location by following the directory tree hierarchy expressed in a string of character in which path components, separated by a delimiting character, represent each directory....
 C:\WINDOWS represents a directory WINDOWS on the partition represented by the letter C. The C drive is most commonly used for the primary hard disk partition, on which Windows is usually installed and from which it boots. This "tradition" has become so firmly ingrained that bugs came about in older versions of Windows which made assumptions that the drive that the operating system was installed on was C. The tradition of using "C" for the drive letter can be traced to MS-DOS, where the letters A and B were reserved for up to two floppy disk drives. Network drives may also be mapped to drive letters.

Data retrieval process
The operating system calls on the IFS
Installable File System

The Installable File System is a filesystem API in IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load software drivers for file systems....
 (Installable File System) manager. The IFS calls on the correct FSD (File System Driver) in order to open the selected file from a choice of four FSDs that work with different storage systems—NTFS, VFAT, CDFS (for optical drives), and Network. The FSD gets the location on the disk for the first cluster of the file from the FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 (File Allocation Table), FAT32, VFAT (Virtual File Allocation Table), or, in the case of Windows NT based, the MFT (Master File Table). In short, the whole point of the FAT, FAT32, VFAT, or MFT is to map out all the files on the disk and record where they are located (which track and sector of the disk).

File systems under OpenVMS


File systems under MVS [IBM Mainframe]


See also

  • Comparison of file systems
    Comparison of file systems

    The following tables compare general and technical information for a number of file systems....
  • Disk sharing
  • Distributed file system
    Distributed file system

    A network file system is any computer file system that supports resource sharing of computer file, printers and other resources as persistent storage over a computer network....
  • Filename extension
    Filename extension

    A filename extension is a substring to the filename of a computer file applied to indicate the encoding convention of its contents.In some operating systems it is optional, while in some others it is a requirement....
  • File system driver
  • File system fragmentation
    File system fragmentation

    In computing, file system fragmentation, sometimes called file system aging, is the inability of a file system to lay out related data sequentially , an inherent phenomenon in computer storage-backed file systems that allow in-place modification of their contents....
  • Filesystem API
    Filesystem API

    A file system API is an application programming interface through which an operating system interfaces with file system code. The operating system usually provides abstractions for accessing different file systems transparently to userland programs, and in this sense it is analogous to device driver APIs that provide abstracted access to hard...
  • Garbage Collected Filesystem
  • Physical and logical storage
  • List of file systems
    List of file systems

    The following lists identify, characterize and link to more thorough information on computer 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 itself....
  • List of Unix programs
    List of Unix programs

    This is a list of UNIX utilities as specified by IEEE Std 1003.1-2004, which is part of the Single UNIX Specification .These utilities can be found on UNIX Operating systems and most UNIX-like operating systems....
  • Virtual file system
    Virtual file system

    A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way....


Cited references


General references



  • , Brian Carrier, Addison Wesley, 2005.


Further reading

  • by Justin Piszcz, Linux Gazette 102, May 2004
  • using kernel 2.6, by Justin Piszcz, Linux Gazette 122, January 2006
  • : ReiserFS, JFS, and Ext3FS show their merits on a fast RAID appliance
  • : A comparison of ReiserFS, XFS, JFS, ext3 & ext2
  • v2.6 kernel with a stress on CPU usage


External links