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.
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 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.
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ó.
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.
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.
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.
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 .
Fájlrendszerek ( lista , összehasonlítás ) | |||||||
---|---|---|---|---|---|---|---|
Korong |
| ||||||
Elosztott (hálózat) | |||||||
Különleges |
|