ext4 | |
---|---|
Vyvíjí | Mingming Cao, Andreas Dilger, Alex Tomas, Dave Kleikamp,Theodore Ts'o, Eric Sandeen, Sam Naghshineh a další |
Plný název | Fourth extended file system |
Představeno | Stabilní:21. říjen2008 Nestabilní:10. říjen2006 (Linux 2.6.19) |
Identifikátor oddílu | 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) |
Struktury | |
Obsah adresáře | Spojový seznam, htree |
Alokace souborů | Extents/Bitmap |
Chybné bloky | Tabulka |
Limity | |
Maximální velikost souboru | 16TiB (pro 4KiB bloky) |
Maximální počet souborů | 4 miliardy (určeno při vytvoření systému souborů) |
Maximální délka názvu souboru | 256 bajtů |
Maximální velikost svazku | 1EiB |
Povolené znakyv názvech souborů | Všechny znaky mimo NULL ('\0') a '/' |
Hlavní rysy | |
Zaznamenané časy | změna (mtime), změna atributu (ctime), přístup (atime), smazáno (dtime), vytvořeno (crtime) |
Rozsah dat | 14. prosinec1901–25. duben 2514 |
Přesnost dat | Nanosekunda |
Podpora více větví souboru | Ne |
Atributy | extents, noextents, mballoc, nomballoc, delalloc, nodelalloc, data=journal, data=ordered, data=writeback, commit=nrsec, orlov, oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh, journal_dev |
Oprávnění v systému souborů | POSIX |
Transparentní komprese | Ne |
Transparentní šifrování | Ano, od Linux 4.1 |
Ukládání jediné instance | Ne |
Podporovanéoperační systémy | Linux |
ext4 (fourth extended filesystem) ježurnálovací souborový systém vyvinutý prolinuxové jádro, jehož vývoj začal10. října 2006 jako zpětně kompatibilní nástupceext3 (přejímá všechny jeho výhody), do jádra byl začleněn nejprve jako vývojový (tzv.ext4dev) a dne11. prosince 2008 byl v jádře verze 2.6.28 přejmenován na ext4 a tím označen za stabilní a vhodný k běžnému užívání. Ext4 přináší mnoho novinek typických pro moderní souborové systémy, jako je odstranění limitů ext3 (velikost souborového systému, souborů, počtu souborů v adresáři), podporuextentů, prealokaci místa na disku, odloženou alokaci, kontrolní součet žurnálu, online defragmentaci, rychlejší kontrolu, multiblokový alokátor a zvýšenou přesnost uložených časových údajů a přináší také zvýšení výkonu.
Vývoj ext4 započal10. října2006, kdy vývojářAndrew Morton oznámil úmysl přidat doext3 zpětně kompatibilní vylepšenísouborového systému ext3, které mělo přidat 64bitové limity velikosti a další vylepšení, jejichž úkolem bylo zlepšit výkonnost souborového systému. Vývojářilinuxového jádra však nesouhlasili s přijetím takových rozšíření do ext3 a navrhli vytvořit nový souborový systém ext4, který vznikne jakofork původního ext3 (tj. zkopírováním zdrojového kódu ext3, jeho přejmenováním na ext4 a následným přidáním požadovaných vylepšení, takže nedojde k ovlivnění původního systému souborů ext3). Tento návrh byl přijat a dne10. června2006 vývojářTheodore Ts'o, který byl zodpovědný za ext3, zveřejnil nový plán dalšího vývoje pro ext4. Předběžná vývojová verze byla zahrnuta do linuxového jádra verze 2.6.19 a byla označena jako ext4dev. Dne11. října2008 byly zahrnuty do Linuxu verze 2.6.28změny, které přejmenovaly vývojovou verzi na ext4 a označily ji jako stabilní kód, čímž došlo k uzavření vývojové fáze ext4.[1] Jádro verze 2.6.28, obsahující oficiální podobu ext4, bylo vydáno dne11. prosince2008.
Systém ext4 může být použit na svazku o velikosti až 1 EiB (1024 PiB – pebibytů, přibližně 1018 bajtů), podporuje extenty a odstraňuje limit původního systémuext3, jež mohl obsahovat v adresáři maximálně 32 768 podadresářů. S původním ext3 je kompatibilní zpětně i dopředně (pod typem ext4 je možnénamountovat ext3, a naopak pod typem ext3 lze připojit ext4 svazek, pokud nepoužívá extenty).
Mezi další vlastnosti patří podpora nanosekundových časových razítek a pre-alokace i zpožděná alokace místa pro soubory. Ovladač ext4 obsahuje (stejně jako předchozí verze souborového systému) nástroje, které omezujífragmentaci již při ukládání dat na disk. Nově však ext4 umožňuje nasazení onlinedefragmentátoru na úrovni souborů nebo celého souborového systému. Díky označování nepoužitých oblastí disku mohou nástroje pro opravu systému (fsck) pracovat rychleji než na ext3.[2]
ext3 | ext4 | |
---|---|---|
Max. velikost oddílu | 16 TiB | 1 EiB |
Max. velikost souboru | 2 TiB | 16 TiB |
Max. počet souborů | 4 miliardy | 4 miliardy (232) |
Max. počet podadresářů | 32 768 | neomezeno |
Systém souborů ext4 může podporovat svazky až o velikosti 1 EiB a soubory s maximální velikostí 16 TiB.
Extenty nahrazují tradiční schéma blokového mapování, které využívají předchozí systémyext2 aext3. Extent je rozsah navazujících fyzických bloků (resp. alokačních jednotek), který zlepšuje výkon při práci s velkými soubory a zmenšujícífragmentaci. Jeden extent se tak může stát vsystému souborů ext4 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.
Systém souborů ext4 jezpětně kompatibilní sext3, což umožňuje připojit systém souborů ext3 jako ext4.
Systém souborů ext4 je částečnědopředně kompatibilní sext3, takže oddíl s ext4 může být připojen jako ext3, pokud nejsou v ext4 použity extenty.
Vext3 je počet podadresářů jednoho adresáře omezen na 32 000. Tento limit byl v ext4 navýšen na 64 000 a pomocí rozšířenídir_nlink může tuto hranici dále prolomit (ačkoliv to zastaví zvyšování počtu odkazů z rodiče). Tato vlastnost je implementována do jádra Linuxu od verze 2.6.23. Podpora vysokého počtu položek v adresáři pomocístromuHtree je obsažena již v systému souborů ext3, pomocí zapnutí rozšířenídir_index.
![]() | Tento článek je příliš stručný nebopostrádá důležité informace. Pomozte Wikipedii tím, že jej vhodněrozšíříte. Nevkládejte všakbez oprávnění cizí texty. |