ext4 | |
---|---|
Fejlesztő | Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh és mások |
Fájlrendszer | Negyedik kiterjesztett fájlrendszer |
Benyújtás dátuma |
Stabil kiadás: 2008. október 21. Tesztkiadás : 2006. október 10. ( Linux 2.6.28, 2.6.19) |
kötetcímkéje |
0x83 ( MBR ) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ( GPT ) |
Szerkezet | |
Mappa tartalma | Linkelt lista , B-fa [1] |
Fájl elhelyezése | Bitmap / Terjedelem |
Rossz szektorok | asztal |
Korlátozások | |
Maximális fájlméret | 16 tebibyte (a klaszter mérete 4 kibibyte ) |
Fájlok maximális száma | 4 milliárd (a fájlrendszer létrehozása során megadva ) |
A fájlnév maximális hossza | 255 bájt |
Maximális kötetméret | 1 exbibyte (korábban 16 tebibájtra korlátozva az e2fsprogs < 1.43-as verzió korlátai miatt, a probléma megoldva a régebbi verziókban) |
Érvényes karakterek a címekben | minden bájt a NULL és a '/' kivételével |
Képességek | |
Tulajdonságok | módosítás (mtime), attribútum módosítása (ctime), hozzáférés (atime), törlés (dtime), létrehozás (crtime) |
Időintervallum | 1901. december 14. – 2514. április 25 |
Dátumtárolási pontosság | Nano második |
Metaadatfolyamok | Nem |
Attribútumok | kiterjedések, noextents, mballoc, nomballoc, delalloc, nodelalloc, data=journal, data=ordered, data=writeback, commit=nrsec, orlov , oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh_dev, nobh |
Hozzáférési jogok | POSIX |
Háttértömörítés | Nem |
Háttér titkosítás | Nem |
OS támogatott | Linux , Windows ( IFS ) |
Az ext4 ( angolul negyedik kiterjesztett fájlrendszer, ext4fs ) egy naplózó fájlrendszer, amelyet főleg Linux kernellel rendelkező operációs rendszerekben használnak , 2006-ban az ext3 alapján hoztak létre .
Főbb változások az ext4-ben az ext3-hoz képest:
Az első kísérleti megvalósítást Andrew Morton adta ki 2006. október 10- én a Linux kernelek 2.6.19-es verziójához készült javításként [2] .
Az ext3-hoz képest az ext4 nagyobb címterülettel és gyorsabb adatkezeléssel rendelkezik.
A címzési rendszer kiterjedéseken alapul . Az ext3-ban az adatokat a hagyományos módon – blokkonként – kezelték, ezért a rendszer jelentős korlátozásokkal szembesült a fájlméret növekedésével. A kiterjedések lehetővé teszik nagyszámú ( akár 128 MB ) összefüggő blokk megcímzését egyetlen leíróval; akár négy kiterjedésű mutató is elhelyezhető közvetlenül az inode -ban, ami elegendő kis és közepes méretű fájlokhoz.
48 bites blokkszámok használatosak; 4 KB blokkmérettel ez legfeljebb egy exbibyte címzést tesz lehetővé (2 48 ( 4 KB ) = 2 48 (2 2 ) (2 10 ) B = 2 60 B = 1 EB ) .
A blokkok csoportos kiosztása ( multiblock allocation ) lehetővé teszi a fájlrendszer töredezettségének csökkentését: a rendszer nemcsak a szabad blokkok helyéről tárol információkat, hanem az egymás után elhelyezkedő szabad blokkok számáról is, így amikor helyet foglalva a rendszer talál egy töredéket, amelybe az adatok töredezettség nélkül írhatók.
A leválasztás nélküli töredezettségmentesítést ( online töredezettségmentesítés ) az e4defrag segédprogram támogatja , amelyet 2011 óta az e2fsprogs csomag részeként szállítanak [3] .
Blokkok csoportos rögzítéseA blokkok késleltetett kiosztása ( késleltetett allokáció ) csak akkor biztosít közvetlen írást a blokkeszközhöz, ha szükséges (például szinkronizálási hívások során (), de nem minden írási hívásnál (), ami lehetővé teszi, hogy nem egyenként írjon blokkokat időben, de csoportokban, ami viszont minimálisra csökkenti a töredezettséget és felgyorsítja a blokkkiosztási folyamatot. Másrészt megnő az adatvesztés kockázata hirtelen áramszünet esetén.
Inode változásokTöbb inode lefoglalása könyvtár létrehozásakor ( eng. directory inodes reserve ) lehetővé teszi, hogy először a lefoglalt inode-okat használjuk, és csak akkor hajtjuk végre a szokásos inode kiosztási eljárást, ha már egyik sem maradt. Az alapértelmezett inode mérete 128-ról (ext3) 256 bájtra nőtt, ami lehetővé tette az időbélyegek nanomásodperces pontosságú megvalósítását ( nanoszekundumos időbélyegek ) és tartományuk bővítését (ext3-ban a dátumhatár 2038. január 18., ext4-ben pedig - 2514. április 25.), adjon hozzá egy inode verzió mezőt, és támogassa a kiterjesztett inode attribútumokat. Az inode verziószáma minden változtatáskor növekedhet, különösen, ha a fájlrendszer a [ K. iversion1] : Ezt használják az NFS 4-es verziójú hálózati fájlrendszer (NFSv4) démonjai a fájlváltozások követésére.
A kiterjesztett attribútumok (EA) inode -ban való tárolása , például hozzáférés-vezérlési listák ( ACL -ek), SELinux -attribútumok és egyebek inode-struktúrában, javítja a teljesítményt azáltal, hogy kiküszöböli az attribútumkereséseket máshol . Azok az attribútumok, amelyek számára nincs elég hely az inode struktúrában, egy külön 4 KB -os blokkban tárolódnak .
Naplózás és egyéb szolgáltatásokA naplóbejegyzéseknél az ellenőrző összegek számítása ( angol napló checksumming ) valósul meg, amely lehetővé teszi a hiba utáni rendszerhibák gyors megtalálását és bizonyos esetekben kijavítását.
A perzisztens előfoglalás , ellentétben az ext2 -vel és az ext3-mal (ahol a programoknak nulla bájtot kellett írniuk a fájlba), külön rendszerhívásként fallocate() valósítják meg, amely blokkokat foglal le a fájl számára, és beállítja a "nulla bájttal megtöltött" jelzőt. Fájlból történő olvasáskor a program nulla bájtot fog kapni (akárcsak egy ritka fájl olvasásakor ). Fájlba íráskor a "nulla bájttal kitöltve" jelző törlődik. A ritka fájlokkal ellentétben a ritka fájlba írás soha nem fog meghiúsulni a szabad hely hiánya miatt.
Az Ext4-et a Linux kernel a 2.6.20-as verzió óta támogatja. Vannak programok és illesztőprogramok az ext4 használatához Windows rendszeren : Ext2read (csak olvasható módban), Ext2Fsd, Paragon ExtFS for Windows.
Sok Linux disztribúció az ext4-et használja alapértelmezett fájlrendszerként:
Az ext4 fájlrendszer a 2.3-as verzió óta elérhető Androidon [5] [6] .
Fájlrendszerek ( lista , összehasonlítás ) | |||||||
---|---|---|---|---|---|---|---|
Korong |
| ||||||
Elosztott (hálózat) | |||||||
Különleges |
|