Ext4

Linux-ytimen tiedostojärjestelmä

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

Kehitys

muokkaa

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

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.[2][5] Kehityksen aikana todettiin että laajentaminen 64-bittisiin numeroihin ei ole ongelma tulevaisuudessa, mutta sille ei ole vielä tarvetta.[5] Ext4:ssä lohko on ryhmä sektoreita, jonka koko voi olla 1 kilotavusta 64 kilotavuun.[6] Tiedoston maksimikoko on 16 teratavua.[5][6]

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

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

Tiedostojärjestelmään on integroitu tuki salaukselle.[7]

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

Julkaisu

muokkaa

Tiedostojärjestelmä merkittiin vakaaksi versioksi lokakuussa 2008.[9] 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.[5]

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

Lähteet

muokkaa
  1. a b Ext4: The Next Generation of Ext2/3 Filesystem (PDF) usenix.org. 2007. Viitattu 12.2.2020. (englanniksi)
  2. a b c d M. Tim Jones: Anatomy of Linux journaling file systems 4.6.2008. IBM Developerworks. Viitattu 29.5.2019. (englanniksi)
  3. a b c d e f An introduction to Linux's EXT4 filesystem opensource.com. 25.5.2017. Viitattu 12.2.2020. (englanniksi)
  4. a b c d e Archived - Anatomy of ext4 developer.ibm.com. 17.2.2009. Viitattu 12.2.2020. (englanniksi)
  5. a b c d Dr. Oliver Diedrich: The Ext4 Linux file system h-online.com. 29.5.2009. Viitattu 12.2.2020. (englanniksi)
  6. a b 2.1. Blocks kernel.org. Viitattu 12.2.2020. (englanniksi)
  7. Filesystem-level encryption (fscrypt) kernel.org. Viitattu 12.2.2020. (englanniksi)
  8. Linus Torvalds: Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3 lkml.org. 9.6.2006. Viitattu 12.2.2020. (englanniksi)
  9. ext4: Rename ext4dev to ext4 git.kernel.org. 11.10.2008. Arkistoitu 29.5.2012. Viitattu 12.2.2020. (englanniksi)
  10. Android 2.3 Gingerbread to use Ext4 file system h-online.com. 14.12.2010. Viitattu 12.2.2020. (englanniksi)
  11. Approved: Fedora 33 Desktop Variants Defaulting To Btrfs File-System phoronix.com. 15.7.2020. Viitattu 16.7.2020. (englanniksi)

Aiheesta muualla

muokkaa
  NODES
iOS 4
os 30