Extent je v informatice výraz pro speciální vlastnost souborového systému, která umožňuje uložit větší data ve větších úsecích (tzv. extenty), než je tomu při tradičním ukládání po jednotlivých alokačních jednotkách. Extenty jsou uloženy souvisle (tj. bez fragmentace) a zároveň je pro jejich popis potřeba méně metadat než při uložení stejných dat po jednotlivých alokačních jednotkách. Extenty tak urychlují práci s pevným diskem díky lineárnímu posuvu hlaviček a zmenšení množství metadat, které je nutné pro tuto operaci přečíst.

Popis Při tradičním ukládání dat je prostor na úložném zařízení (například pevný disk) rozdělen na alokační jednotky. Ukládaná data jsou zapisována do volných alokačních jednotek a jejich seznam je zapsán do metadat. Alokační jednotky s daty a metadaty pak dohromady tvoří soubor. Při následném čtení je nejprve nutné přečíst metadata a podle jejich obsahu pak teprve vlastní data. Protože má typická alokační jednotka velikost 4 KiB (shodně s velikostí stránky paměti), je potřebné množství metadat pro velké soubory enormní a navíc se obvykle jedná o řadu sousedících (navazujících) alokačních jednotek. Extenty umožňují do metadata zapsat pouze počátek souvislého úseku alokačních jednotek a jejich počet (resp. délku dat). Tím je výrazně redukováno množství metadat a navíc extent není fragmentován.

Při porušení jednoho sektoru disku ve vyhrazené blokové struktuře způsobí mnohem větší ztrátu dat, než jeden špatný sektor v uložených datech. Aby bylo možné odolávat fragmentaci, několik souborových systémů se alokuje on-flush, tj. seskupí se do jednotného celku a zpracovávají se dohromady a tím uleví zatížení CPU.

Jeden extent se může stát v systému souborů alokační jednotkou o velikosti až 128 MiB souvislého místa na disku, místo mnoha jednotlivých datových bloků o standardní velikosti 4 KiB (viz extenty v Ext4).

Mnoho moderních souborových systémů také provádějí zápis copy-on-write, i když to zvyšuje fragmentaci.

Implementace Následující souborové systémy podporují tvorbu extentu:

ASM – Automatic Storage Management – Databázový systém Oracle BFS – BeOS, Zeta a Haiku operační systémy Btrfs – Linuxový souborový systém (od jádra 2.6.29-rc1) Ext4 – Linuxový souborový systém (povolení extentů od jádra 2.6.23) Files-11 – Digital Equipment Corporation (sub ekvivalent Hewlett-Packard) souborový systém openVMS HFS a HFS+ – Hierarchové souborové systémy – Apple Macintosh HPFS – High Performance File System IceFS – IceFileSystem – volitelný pro systémy MorphOS JFS – Journaled File System – používán na AIX, OS/2 a v některých Linuxových distribucí Melio FS – sdílené úložiště pro platformu Windows od společnosti Sanbolic Microsoft SQL Server – verze 2000-2008 podporuje extenty do velikosti 64 KB Multi-Programming Executive – souborový systém od společnosti Hewlett-Packard NTFS – poslední verze souborového systému společnosti Microsoft OCFS2 – Oracle Cluster File System – sdílený souborový systém pro platformu Linux Reiser4 – Linuxový souborový systém (v režimu „extent“) SINTRAN III – Souborový systém použitý společností Norsk Data UDF – Universal Disk Format – zavedený standard pro optická media VERITAS File System – povoleno prostřednictvím alokace API a CLI XFS – SGIc souborový systém „druhé generace“

Reference

Související články ext2, ext3 – předchůdci ext4 Btrfs Inode – základní datová struktura pro uložení metadat Systém souborů v Unixu UFS – tradiční unixový souborový systém

Externí odkazy Ext4: evoluční souborový systém (Root.cz) Ext4 Vývojářská Wiki ()

Kategorie:Linux Kategorie:Souborové systémy