Ext4

Ext4 on Linux-ytimen tiedostojärjestelmä, joka on kehitetty parannuksena aiemmista ext3- ja ext2-tiedostojärjestelmistä. Tiedostojärjestelmä on kehitetty taaksepäin- ja eteenpäinyhteensopivana.

Kehitys 
Tiedostojärjestelmä kehitettiin parannuksena aiempaan ext3:een nähden: suorituskykyä, luotettavuutta ja kapasiteettia on parannettu.
Ext4 tukee journalointia kuten aiempi ext3:kin, sekä tukee useampaa journalointimoodia.
Ext4 lisää tarkistussummat metatiedolle ja journalille, aikaleimojen tarkkuutta on nostettu ja vuoden 2038 käsittely on korjattu vuoteen 2446 asti.
Tiedon varaus on muutettu kiinteäkokoisista lohkoista ”extent”-lohkoiksi, joka mahdollistaa hyvin pitkien yhtenäisenä jatkuvien tiedostojen varaamisen.
Extent-lohkoja on käytetty aiemmin JFS-tiedostojärjestelmässä ja viivästetty varaus on ollut XFS- ja ZFS-tiedostojärjestelmissä.

Tiedostojärjestelmä tukee suuria taltioita ja tiedostokokoja: tiedostojärjestelmä käyttää 48-bittisiä lohkonumeroita, joka (oletuksena olevalla) 4 kilotavun lohkolla mahdollista 1 eksatavun (1024 petatavun) tiedostojärjestelmän. Kehityksen aikana todettiin että laajentaminen 64-bittisiin numeroihin ei ole ongelma tulevaisuudessa, mutta sille ei ole vielä tarvetta. Ext4:ssä lohko on ryhmä sektoreita, jonka koko voi olla 1 kilotavusta 64 kilotavuun.
Tiedoston maksimikoko on 16 teratavua.

Tiedostojärjestelmä on suunniteltu vähentämään fragmentaatiota. Tiedostojärjestelmä tukee ”online-eheyttämistä” ja eheyden tarkistaminen (fsck) vaatii vähemmän aikaa.

Ext4 käyttää B-puun muunnosta H-puuta, joka mahdollistaa paljon suuremmat alihakemistot. Ext4:ssä alihakemistojen koko on lähes rajoittamaton.

Tiedostojärjestelmään on integroitu tuki salaukselle.

Ytimen kehittäjät tyrmäsivät ehdotukseen, että uusia ominaisuuksia olisi lisätty ext3:een. Ext4 on tämän vuoksi forkattu ext3:sta jotta sen käyttäjille ei koidu häiriötä.
Vanhoja ext2- ja ext3-tiedostojärjestelmiä voi käyttää ext4:n kautta, mutta silloin ei voida käyttää sen parannuksia hyödyksi. Ext4:n kautta aiempaa tiedostojärjestelmässä voi käyttää yhteensopivana, jolloin vain uudet tiedostot käyttävät uudempaa tallennustapaa ja vanhat pysyvät vanhalla tallennuksella.

Julkaisu 
Tiedostojärjestelmä merkittiin vakaaksi versioksi lokakuussa 2008. Tiedostojärjestelmä oli mukana ytimessä versiosta 2.6.19 lähtien mutta oli merkittynä kokeelliseksi versioon 2.6.27 saakka: versiosta 2.6.28 lähtien tiedostojärjestelmä on merkitty vakaaksi.

Google ilmoitti joulukuussa 2010 Androidin siirtyvän versiossa 2.3 YAFFS-tiedostojärjestelmästä ext4:ään. Ext4 on ollut oletuksena Fedoran versiosta 14 lähtien. Fedora 33:ssa oletukseksi muuttui Btrfs.

Lähteet

Aiheesta muualla 
 ext4 Data Structures and Algorithms 
 Ext4 block and inode allocator improvements (PDF) 

Tiedostojärjestelmät
Linux-ydin