In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, an extent is a contiguous area of storage reserved for a file in a
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
, represented as a range of block numbers, or
tracks on
count key data
Count key data (CKD) is a direct-access storage device (DASD) data recording format introduced in 1964, by IBM with its IBM System/360 and still being emulated on IBM mainframes. It is a self-defining format with each data record represented by a ...
devices. A file can consist of zero or more extents; one
file fragment requires one extent. The direct benefit is in storing each range compactly as two numbers, instead of
canonically storing every block number in the range.
Also, extent allocation results in less
file fragmentation.
Extent-based file systems can also eliminate most of the
metadata overhead of large files that would traditionally be taken up by the block-allocation tree. But because the savings are small compared to the amount of stored data (for all file sizes in general) but make up a large portion of the metadata (for large files), the overall benefits in storage efficiency and performance are slight.
In order to resist fragmentation, several extent-based file systems do
allocate-on-flush. Many modern
fault-tolerant
Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the ...
file systems also do
copy-on-write
Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is dupl ...
, although that increases fragmentation. As a similar design, the
CP/M file system uses extents as well, but those do not correspond to the definition given above.
CP/M's extents appear contiguously as a single block in the combined directory/allocation table, and they do not necessarily correspond to a contiguous data area on disk.
IBM
OS/360 and successors
OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJO ...
allocate files in multiples of disk tracks or
cylinders
A cylinder (from ) has traditionally been a three-dimensional solid, one of the most basic of curvilinear geometric shapes. In elementary geometry, it is considered a prism with a circle as its base.
A cylinder may also be defined as an infini ...
. Files could originally have up to 16 extents, but this restriction has since been lifted. The initial allocation size and the size of additional extents to be allocated if required are specified by the user via
Job Control Language
Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.
More specifically, the purpose of JCL is to say which programs to run, ...
. The system attempts to allocate the initial size as a contiguous area, although this may be split if contiguous space is not available.
Adoption
The systems supporting filesystem extents include the following:
*
APFS Apple File System
*
ASM
ASM may refer to:
Codes
* American Samoa, ISO 3166-1 alpha-3 country code
* Asmara International Airport, IATA airport code
* Assamese language, ISO 639 language code ''asm''
Organizations
* Aare Seeland mobil, a Swiss bus and train operator
* Al ...
Automatic Storage Management
Oracle's database-oriented filesystem
*
BFS BeOS
BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware.
BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users a ...
,
Zeta
Zeta (, ; uppercase Ζ, lowercase ζ; grc, ζῆτα, el, ζήτα, label=Demotic Greek, classical or ''zē̂ta''; ''zíta'') is the sixth letter of the Greek alphabet. In the system of Greek numerals, it has a value of 7. It was derived fr ...
and
Haiku
is a type of short form poetry originally from Japan. Traditional Japanese haiku consist of three phrases that contain a ''kireji'', or "cutting word", 17 ''On (Japanese prosody), on'' (phonetic units similar to syllables) in a 5, 7, 5 pattern, ...
operating systems
*
Btrfs
Btrfs (pronounced as "better F S", "butter F S", "b-tree F S", or simply by spelling it out) is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager (not to be confused ...
Extent-based
copy-on-write
Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is dupl ...
(COW) file system for Linux
* EFS Extent File System
SGI's first-generation file system for
Irix
IRIX ( ) is a discontinued operating system developed by Silicon Graphics (SGI) to run on the company's proprietary MIPS workstations and servers. It is based on UNIX System V with BSD extensions. In IRIX, SGI originated the XFS file system ...
*
Ext4
ext4 (fourth extended filesystem) is a journaling file system for Linux, developed as the successor to ext3.
ext4 was initially a series of backward-compatible extensions to ext3, many of them originally developed by Cluster File Systems fo ...
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
filesystem (when the configuration enables extents the default in Linux since version 2.6.23)
*
Files-11
Files-11 is the file system used by Digital Equipment Corporation OpenVMS operating system, and also (in a simpler form) by the older RSX-11. It is a hierarchical file system, with support for access control lists, record-oriented I/O, remote n ...
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
filesystem
*
HFS HFS may refer to:
Computing
* Hardware functionality scan, a security mechanism used in Microsoft Windows operating systems
* Hierarchical File System, a file system used by Apple Macintosh computers
* Hierarchical File System (IBM MVS), used MV ...
and
HFS Plus Hierarchical File System
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ances ...
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
filesystems
*
High Performance File System (HPFS) on
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
,
eComStation
eComStation or eCS is an operating system based on OS/2 Warp for the 32-bit x86 architecture. It was originally developed by Serenity Systems and Mensys BV under license from IBM. It includes additional applications, and support for new hard ...
and
ArcaOS
ArcaOS is an operating system based on OS/2, developed and marketed by Arca Noae, LLC under license from IBM. It was codenamed Blue Lion during its development. It builds on OS/2 Warp 4.52 by adding support for new hardware, fixing defects and l ...
* IceFS IceFileSystem optional file system for
MorphOS
MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed proprietary and open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale devel ...
*
JFS Journaled File System used by
AIX,
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
/eComStation/ArcaOS and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
operating systems
*
ISO 9660
ISO 9660 (also known as ECMA-119) is a file system for optical disc media. Being sold by the International Organization for Standardization (ISO) the file system is considered an international technical standard. Since the specification is ...
Extent-based file system for optical disc media
*
Microsoft SQL Server
Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ...
versions 2000–2008 support extents of up to 64 KB
*
Multi-Programming Executive
MPE (Multi-Programming Executive) is a discontinued business-oriented mainframe computer real-time operating system made by Hewlett-Packard. While initially a mini-mainframe, the final high-end systems supported 12 CPUs and over 2000 simultane ...
a filesystem by
Hewlett-Packard
*
NTFS
New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred f ...
*
OCFS2 Oracle Cluster File System a
shared-disk file system for Linux
*
Reiser4 Linux filesystem (in "extents" mode)
*
SINTRAN III file system used by early computer company
Norsk Data
*
UDF Universal Disk Format standard for optical media
*
VERITAS File System enabled via the pre-allocation API and CLI
*
XFS SGI's second-generation file system for
Irix
IRIX ( ) is a discontinued operating system developed by Silicon Graphics (SGI) to run on the company's proprietary MIPS workstations and servers. It is based on UNIX System V with BSD extensions. In IRIX, SGI originated the XFS file system ...
and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
See also
*
Comparison of file systems
The following tables compare general and technical information for a number of file systems.
General information
Limits
Metadata
Features File capabilities
Block capabilities
Note that in addition to the below table, blo ...
References
External links
Getting to know the Solaris filesystem, Part 1 Allocation and storage strategy a comparison of block-based and extent-based allocation
{{File systems, state=collapsed
Computer file systems