Ext4

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. május 8-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

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:

Történelem

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] .

Jellemzők

Az ext3-hoz képest az ext4 nagyobb címterülettel és gyorsabb adatkezeléssel rendelkezik.

Címzési rendszer

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 ) .

Blokkok és töredezettség

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ése

A 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ások

Tö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ások

A 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.

Támogatás operációs rendszerekben

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:

  • Ubuntu : 9.04 óta a felhasználó kérésére választható, 9.10 óta - alapértelmezés szerint;
  • Debian : 6.0 óta: választható, 7.0 óta - alapértelmezés szerint használatban van;
  • Fedora  : 9-től kezdve választható, 11-től 32-ig az alapértelmezett.
  • OpenSUSE : alapértelmezett 11.2 óta;
  • Mandriva Linux : alapértelmezés szerint a 2010-es verziótól használatos;
  • Red Hat Enterprise Linux : a 6-os verzió óta - alapértelmezés szerint [4] ;
  • PCLinuxOS : alapértelmezett 2010 óta.

Az ext4 fájlrendszer a 2.3-as verzió óta elérhető Androidon [5] [6] .

Megjegyzések

  1. mount -t ext4 /dev/sda2 /mnt/ -o rw,iversion

Jegyzetek

  1. Kivonatolt B-fa . Letöltve: 2010. március 20. Az eredetiből archiválva : 2019. július 18.
  2. Andrew Morton hivatalos bejelentése az ext4 támogatás felvételéről  (eng.) ( txt )  (holt link) . Archiválva az eredetiből 2008. augusztus 7-én.
  3. Tartalmazza az ext4 töredezettségmentesítő eszközt . Letöltve: 2014. augusztus 26. Az eredetiből archiválva : 2014. augusztus 27..
  4. 3.1. Negyedik kiterjesztett fájlrendszer (ext4) támogatás  // 6.0 Kiadási megjegyzések : Kiadási megjegyzések Red Hat Enterprise Linux 6-hoz : [ eng. ]  : [ arch. 2012. június 3. ]. – Red Hat, 2010.
  5. Ts'o, Theodore . Az Android ext4-et fog használni, kezdve a Gingerbread , Thoughts by Ted  (2010. december 12.) szöveggel. Az eredetiből archiválva: 2010. december 15. Letöltve: 2010. december 20.
  6. Android 2.3 Platform Highlights  (angol)  (a hivatkozás nem érhető el) . Android Developers (2010. december 6.). Hozzáférés dátuma: 2010. december 7. Az eredetiből archiválva : 2012. január 21..

Linkek