Ext2

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

ext2
Fejlesztő Remy kártya
Fájlrendszer Második kiterjesztett fájlrendszer
Benyújtás dátuma 1993. január ( Linux )
kötetcímkéje Apple_UNIX_SVR2 ( Apple Partition Map )
0x83 ( Master Boot Record )
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ( GPT )
Szerkezet
Mappa tartalma asztal
Fájl elhelyezése Bittérkép (szabad terület), táblázat ( metaadatok )
Rossz szektorok Táblázat (ugyanazt a táblázatot használja, mint a fájloknál)
Korlátozások
Maximális fájlméret 16 GB - 2 TB
Fájlok maximális száma 10 18
A fájlnév maximális hossza 255 bájt
Maximális kötetméret 2-32 TB
Érvényes karakterek a címekben Bármely bájt a NULL és a '/' kivételével
Képességek
Tulajdonságok Módosítási idő (mtime), metaadatok módosításának ideje (ctime), utolsó hozzáférési idő (atime)
Időintervallum 1901. december 14. – 2038. január 18
Dátumtárolási pontosság 1 másodperc
Hozzáférési jogok POSIX
Háttértömörítés nem (elérhető javításokon keresztül)
Háttér titkosítás Nem
OS támogatott Linux , BSD , Mac OS X ( IFS -en keresztül )

A második kiterjesztett fájlrendszer (szó szerint: "második kiterjesztett fájlrendszer" ), rövidítve ext2 (néha ext2fs ) a Linux kernel fájlrendszere . A Remy Card fejlesztette ki , hogy lecserélje az akkor meglévő ext . Sebesség és teljesítmény tekintetében viszonyítási alapként szolgálhat a fájlrendszer teljesítménytesztjei során . Tehát a szekvenciális olvasási és írási sebességre vonatkozó, a Dell TechCenter által végzett tesztekben az ext2 fájlrendszer megelőzi az ext3 -at, és az olvasási tesztben csak a modernebb ext4 -nél gyengébb [1] .

Az ext2 fő hátránya (és az egyik oka annak, hogy miért olyan jól teljesít), hogy nem naplózó fájlrendszer . Ezt megszüntették az ext3 fájlrendszerben, az Extended File System  következő verziójában , amely teljesen kompatibilis az ext2-vel. De az ssd esetében ez inkább plusz, mivel meghosszabbítja a meghajtó élettartamát. Ez a fő oka annak, hogy az EXT2-t továbbra is támogatja az Anaconda és az Ubiquity.

Az ext2 fájlrendszert továbbra is flash kártyákon és szilárdtestalapú meghajtókon (SSD) használják, mivel a naplózás hiánya előnyt jelent, ha olyan meghajtókkal dolgozik, amelyek írási ciklusainak száma korlátozott.

Történelem

Kezdetben a Linux a Minix OS fájlrendszert használta . Meglehetősen stabil volt, de 16 bites maradt, és ennek eredményeként partíciónként 64 MB volt a kemény korlát. A fájlnév maximális hosszát korlátozták: 14 karakter lehet. Ezek és más korlátok ösztönözték az " Extended File System " ( angolul  Extended File System ) fejlesztését, amely megoldja a Minix két fő problémáját. Az új fájlrendszert 1992 áprilisában vezették be . Az Ext 2 gigabájtra kiterjesztette a fájlméret -korlátozást [2] , és 255 bájtos fájlnév-korlátot állított be.

Ennek ellenére továbbra is sok megoldatlan probléma volt: nem volt támogatás a külön hozzáféréshez, időbélyegek az adatok módosításához. Ezek a problémák inspirálták az ext2 kiterjesztett fájlrendszer ( angolul  Second Extended File System ) következő verziójának elkészítését, amelyet 1993 januárjában fejlesztettek ki . Az ext2 POSIX - kompatibilis ACL -eket és kiterjesztett fájlattribútumokat is megvalósított .

Az ext2 fájlrendszer logikai felépítése

Az ext2 fájlrendszer könyvtárhierarchiáját leíró grafikon egy hálózat. Ennek az elrendezésnek az az oka, hogy egy fájl egyszerre több könyvtárba is bekerülhet.

Minden fájltípusnak szimbolikus neve van. A hierarchikusan szervezett fájlrendszerekben általában háromféle név használatos : egyszerű, összetett és relatív. Az ext2 sem kivétel. Az egyszerű névre vonatkozó korlátozások az, hogy hossza nem haladhatja meg a 255 bájtot, és a név nem tartalmazhat NUL karaktert és perjelet . A NUL karakterre vonatkozó korlátozások a karakterláncok C nyelvben történő megjelenítéséhez kapcsolódnak , valamint a perjel karakterhez, mivel elválasztó karakterként használják a könyvtárak között.

A teljes képzésű név az összes könyvtár egyszerű szimbolikus neveinek lánca, amelyen keresztül a gyökértől az adott fájlig vezető út áthalad . Ext2 fájlrendszeren egy fájl több könyvtárban is lehet, és így több teljesen minősített neve is lehet; itt az "egy fájl - sok teljes név" megfelelés érvényes. Mindkét esetben a teljes képzésű név egyedileg azonosítja a fájlt.

Az ext2 fájlrendszer attribútumai a következők:

A fájlattribútumokat a rendszer nem könyvtárakban tárolja, mint számos egyszerű fájlrendszerben , hanem speciális táblákban . Ennek eredményeként egy könyvtár nagyon egyszerű szerkezettel rendelkezik, amely csak két részből áll: egy inode számból és egy fájlnévből.

Az ext2 fájlrendszer belső felépítése

Lemezpartíció szerkezete

Mint minden UNIX fájlrendszernél , az ext2-ben a következő összetevők különböztethetők meg:

A teljes lemezpartíciós terület fix méretű blokkokra van osztva, amelyek a szektorméret többszörösei : 1024 , 2048, 4096 vagy 8192 bájt. A blokk mérete a lemezpartíción lévő fájlrendszer létrehozásakor kerül megadásra. A kisebb blokkméret helyet takarít meg a merevlemezen, de korlátozza a fájlrendszer maximális méretét is. Minden blokknak van sorozatszáma. A töredezettség és a merevlemez fejmozgások számának csökkentése érdekében nagy adattömbök olvasásakor a blokkokat blokkcsoportokba vonják össze.

A fájlrendszer alapkoncepciója egy inode vagy inode ( információs csomópont ) .  Ez egy speciális struktúra, amely információkat tartalmaz egy fájl attribútumairól és fizikai helyéről. Az inode-ok egy táblázatba vannak rendezve, amely az egyes blokkcsoportok elején található.

Superblock

A szuperblokk az ext2 fájlrendszer fő eleme . Általános információkat tartalmaz a fájlrendszerről:

A szuperblokk 1024 bájt a szakasz elejétől számítva. A szuperblokk után következő blokk tartalmazza a globális leíró táblát - a blokkcsoportok leírását, amely egy tömb, amely általános információkat tartalmaz a szakasz összes blokkcsoportjáról.

A fájlrendszer állapota közvetlenül függ a szuperblokk integritásától. Az operációs rendszer több biztonsági másolatot készít a szuperblokkról, ha a partíció megsérül . Az állapotjelzőt az operációs rendszer a fájlrendszer aktuális állapotának meghatározására használja. Ha a fájlrendszer olvasásra van felszerelve, akkor az állapotjelző azt jelzi, hogy a fájlrendszer tiszta ("tiszta" állapot). Ha a fájlrendszert olvasásra és írásra csatlakoztatták, akkor az állapotjelző meg van töltve azzal az információval, hogy a fájlrendszer használatban van ("nem tiszta" állapot), és a fájlrendszer leválasztása után az állapotjelzőnek ismét a fájl integritását kell jeleznie. a fájlrendszer [3] . Az állapotjelző segít azonosítani a fájlrendszer esetleges sérülését. Ha például a számítógépet váratlanul kikapcsolták, akkor az állapotjelző a fájlrendszer helytelen leállítását jelzi. A számítógép következő indításakor az operációs rendszernek ellenőriznie kell a fájlrendszer hibáit, ha az állapotjelző nem jelzi a fájlrendszer integritását.

Csoportok blokkolása

Az ext2 partíción lévő összes blokk blokkcsoportokba van egyesítve. Minden csoporthoz külön bejegyzés jön létre a globális leíró táblában, amely a fő paramétereket tárolja:

A blokk bittérkép egy olyan struktúra, amelynek minden bitje jelzi, hogy a hozzá tartozó blokk hozzá van-e rendelve valamelyik fájlhoz. Ha a bit 1, akkor a blokk foglalt. Hasonló funkciót lát el az inode bitmap, amely megmutatja, hogy mely inódok foglaltak és melyek nem. A Linux kernel a könyvtárakat tartalmazó inode - ok számát felhasználva igyekszik egyenletesen csoportokba osztani a könyvtárinódákat, és lehetőség szerint megpróbálja áthelyezni a fájlinódákat a szülőkönyvtárral rendelkező csoportba. A táblázatban adatként feltüntetett összes fennmaradó hely a fájlok tárolására van fenntartva.

Katalógusok

A könyvtárak tartalmazhatnak más könyvtárakat vagy fájlokat is. Fizikailag a könyvtár egy speciális fájl, amely tetszőleges hosszúságú bejegyzéseket tartalmaz. Minden bejegyzés a következő adatokat tárolja [3] :

A könyvtár ilyen felépítése lehetővé teszi hosszú fájlnevek tárolását a lemezterület pazarlása nélkül.

Amikor az operációs rendszer megpróbálja megtalálni egy fájl (vagy könyvtár) helyét a lemezen, a fájl (vagy könyvtár) elérési útjában megadott minden könyvtár tartalmát egymás után betölti a memóriába, hogy megkeresse a következő könyvtár inode-ját. elérési út [3] név szerint . A könyvtárbejárás addig folytatódik, amíg meg nem találja a kívánt fájlt vagy könyvtárat.

Adatcímző rendszer

Az adatcímző rendszer a fájlrendszer egyik legfontosabb összetevője. Ő teszi lehetővé, hogy megtalálja a kívánt fájlt a lemezen lévő sok üres és foglalt blokk között .

Az ext2 fájlrendszer a következő fájlblokk-címzési sémát használja. A fájl címének tárolásához 15 mező van lefoglalva, amelyek mindegyike 4 bájtból áll . Ha a fájl 12 blokkba illeszkedik, akkor a megfelelő klaszterek száma közvetlenül a cím első tizenkét mezőjében jelenik meg. Ha a fájl mérete meghaladja a 12 blokkot, akkor a következő mező annak a klaszternek a címét tartalmazza, amelyben a fájl következő blokkjainak száma található. Így a 13. mezőt indirekt címzésre használjuk.

A 4096 bájt maximális blokkméret mellett a 13. mezőnek megfelelő fürt legfeljebb 1024 következő blokkszámot tartalmazhat a fájlban. Ha a fájl mérete meghaladja a 12+1024 blokkot, akkor a 14. mező kerül felhasználásra, amely egy 1024 fürtszámot tartalmazó fürt címét tartalmazza, amelyek mindegyike a fájl 1024 blokkjára vonatkozik. Itt kettős indirekt címzést használnak. Végül, ha a fájl több mint 12+1024+1048576 blokkot tartalmaz, akkor az utolsó 15. mezőt a hármas átirányításra használjuk.

Ez a címzési rendszer 4096 bájt maximális blokkméret mellett lehetővé teszi, hogy 2 TB -nál nagyobb fájlok legyenek .

Lásd még

Jegyzetek

  1. Az Ext2, Ext3 és Ext4 teljesítmény összehasonlítása  (angol nyelven)  (a hivatkozás nem elérhető) . A Dell TechCenter (2010. március 29.). Letöltve: 2010. november 7. Az eredetiből archiválva : 2011. augusztus 25..
  2. M. Tim Jones. Az ext4 anatómiája. Ismerje meg a negyedik kiterjesztett fájlrendszert (hozzáférhetetlen hivatkozás) . IBM developerWorks (2009. június 30.). Letöltve: 2010. július 6. Az eredetiből archiválva : 2011. augusztus 25.. 
  3. ↑ 1 2 3 4 Remy Card, Theodore Ts'o, Stephen Tweedie. A második kiterjesztett fájlrendszer tervezése és megvalósítása  (angol)  (hivatkozás nem érhető el) . e2fsprogs.sourceforge.net. Letöltve: 2016. október 8. Az eredetiből archiválva : 2012. február 4..

Irodalom

Linkek