Extent
Encyclopedia
An extent is a contiguous area of storage in a computer file system
, reserved for a file. When a process creates a file, file-system management software allocate
s a whole extent. When writing to the file again, possibly after doing other write operations, the data continues where the previous write left off. This reduces or eliminates file fragmentation and possibly file scattering too.
The following systems support extents:
The CP/M
file system uses extents as well, but those don't correspond to the definition given above. CP/M's extents appear contiguously as a single block in the combined directory/allocation table; they do not necessarily correspond to a contiguous data-area on disk.
Note that an extent-based file system (i.e., one that addresses storage via extents rather than in single block
s) need not require limiting each file to a single, contiguous extent.
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
, reserved for a file. When a process creates a file, file-system management software allocate
Allocation
Allocation may refer to:* Computers** Delayed allocation** Block allocation map** FAT** IP address allocation** Memory allocation** C++ allocators** No-write allocation ** Register allocation* Economics** Economic system** Asset allocation...
s a whole extent. When writing to the file again, possibly after doing other write operations, the data continues where the previous write left off. This reduces or eliminates file fragmentation and possibly file scattering too.
The following systems support extents:
- GPL-licensed BtrfsBtrfsBtrfs is a GPL-licensed copy-on-write file system for Linux.Development began at Oracle Corporation in 2007....
provides extent based file storage (264 max file size) - Microsoft NTFSNTFSNTFS 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....
- Macintosh Hierarchical File SystemHierarchical File SystemHierarchical File System is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs...
and HFS PlusHFS PlusHFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System as the primary file system used in Macintosh computers . It is also one of the formats used by the iPod digital music player... - SGI XFSXFSXFS is a high-performance journaling file system created by Silicon Graphics, Inc. It is the default file system in IRIX releases 5.3 and onwards and later ported to the Linux kernel. XFS is particularly proficient at parallel IO due to its allocation group based design...
(designed as an extent-based file system) - Reiser4Reiser4Reiser4 is a computer file system, successor to the ReiserFS file system, developed from scratch by Namesys and sponsored by DARPA as well as Linspire...
(in "extents" mode) - Universal Disk FormatUniversal Disk FormatUniversal Disk Format is an implementation of the specification known as ISO/IEC 13346 and ECMA-167 and is an open vendor-neutral file system for computer data storage for a broad range of media. In practice, it has been most widely used for DVDs and newer optical disc formats, supplanting ISO 9660...
(UDF) - VERITAS File SystemVERITAS File SystemThe VERITAS File System, , is an extent-based file system. It was originally developed by VERITAS Software. Through an OEM agreement, VxFS is used as the primary filesystem of the HP-UX operating system...
(via the pre-allocation API and CLI). - LinuxLinux kernelThe Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
ext4Ext4The ext4 or fourth extended filesystem is a journaling file system for Linux, developed as the successor to ext3.It was born as a series of backward compatible extensions to ext3, many of them originally developed by Cluster File Systems for the Lustre file system between 2003 and 2006, meant to...
(when the configuration enables extents — the default in Linux since version 2.6.23) - OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
and eComStationEComStationeComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...
HPFS - Digital Equipment CorporationDigital Equipment CorporationDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
(subsequently Hewlett-PackardHewlett-PackardHewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
) OpenVMSOpenVMSOpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
Files-11Files-11Files-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... - HPHewlett-PackardHewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
Multi-Programming ExecutiveMulti-Programming ExecutiveMPE is a business-oriented minicomputer operating system made by Hewlett-Packard.It runs the HP 3000 family of computers, which originally used HP custom 16 bit stack architecture CISC CPUs and were later migrated to PA-RISC where the operating system was called MPE/XL...
file system - JFS for AIX, OS/2/eComStation and Linux
- BFSBe File SystemThe Be File System is the native file system for the BeOS....
for BeOSBeOSBeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...
, Zeta and HaikuHaiku (operating system)Haiku is a free and open source operating system compatible with BeOS. Its development began in 2001, and the operating system became self-hosting in 2008, with the first alpha release in September 2009, the second in May 2010 and the third in June 2011.... - The SINTRAN IIISINTRAN IIISINTRAN III was a real-time, multitasking, multi-user operating system used with Norsk Data computers from 1974. Unlike its predecessors SINTRAN I and II, it was entirely written by Norsk Data....
file system - OracleOracle CorporationOracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
Automatic Storage ManagementAutomatic Storage ManagementAutomatic Storage Management is a feature provided by Oracle Corporation within the Oracle Database from release Oracle 10g onwards. ASM aims to simplify the management of database files... - Microsoft SQL ServerMicrosoft SQL ServerMicrosoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...
2000-2008 supports extents of 64KB in size, as discussed on the MSDN page http://msdn.microsoft.com/en-us/library/ms190969.aspx
The CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
file system uses extents as well, but those don't correspond to the definition given above. CP/M's extents appear contiguously as a single block in the combined directory/allocation table; they do not necessarily correspond to a contiguous data-area on disk.
Note that an extent-based file system (i.e., one that addresses storage via extents rather than in single block
Block (data storage)
In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data...
s) need not require limiting each file to a single, contiguous extent.
External links
- Getting to know the Solaris filesystem, Part 1: Allocation and storage strategy — comparison of block-based and extent-based allocation