ext2
ext2 alebo second extended file system („druhý rozšírený súborový systém“) bol štandardným súborovým systémom používaným v operačnom systéme Linux po niekoľko rokov a zostáva naďalej široko používaný. Pôvodne ho navrhol Rémy Card na základe konceptu extended file system. Je pomerne rýchly, dostatočne na to, aby bol považovaný ako štandard pre porovnanie výsledkov benchmarkov. Jeho hlavnou nevýhodou je, že nie je žurnálovacím súborovým systémom. Jeho nasledovník ext3 pridáva žurnálovanie a je čiastočne spätne kompatibilný s ext2.
Kanonická implemetácia ext2 je ovládač ext2fs v jadre Linuxu. Iné implementácie (rôzneho stupňa kvality a úplnosti) existujú v HURD, niektorých jadrách BSD a ako ovládače od tretích strán pre Microsoft Windows. ext2 bol štandardným súborovým systémom v linuxových distribúciách Red Hat, Fedora a Debian až do jeho nahradenia ext3.
História
Raný vývoj Linuxového jadra sa vykonával krížovým vývojom v operačnom systéme Minix. Prirodzene bolo zjavným rozhodnutím implementovať Minix file system ako primárny súborový systém Linuxu. Minix file system prakticky neobsahoval muchy, ale mal niektoré obmedzenia ako schopnosť pracovať iba so 64 megabajtami dát kvôli jeho 16-bitovému adresnému priestoru a neumožňoval názvy súborov dlhšie ako 14 znakov. Kvôli týmto obmedzeniam začala práca na implementácii nových súborových systémov pre operačný systém Linux.
Bol vyvinutý jednoduchý spôsob pridávania nových súborových systémov do jadra Linuxu, virtuálny súborový systém zvaný VFS. Po jeho integrácii do jadra bol v apríli 1992 uvoľnený extended file system (ext) ako prvý súborový systém navrhnutý pre Linux a jeho ovládač zahrnutý vo verzii Linuxu 0.96c. Súborový systém ext riešil dva hlavné problémy Minix file systému (maximálna veľkosť partície a obmedzenie dĺžky názvu súboru) umožňujúc 2 gigabajty dát a 255 znakov v názve súboru. Ale stále existovali problémy: neexistovala podpora separovaného prístupu, modifikácia inode a čaových známok zmeny dát.
Ako riešenie týchto problémov boli v januári 1993 vyvinuté dva nové súborové systémy: súborový systém Xia a second extended file system (ext2). Súborový systém ext2 bol založený na extended file systéme s mnohými reorganizáciami a zlepšeniami a bol navrhnutý s prihliadnutím na evolúciu, ponechávajúc priestor pre ďalšie rozširovanie.
Súborový systém ext2 má maximálnu veľkosť dát 4 terabajty, maximálnu dĺžku názvu súboru 255 znakov a variabilnú dĺžku bloku.
Štruktúra
Skupiny blokov
Každá skupina blokov obsahuje:
- superblok
- deskriptory skupiny
- bitmapu bloku
- bitmapu inode
- tabuľku inode
- dátové bloky
Superblok
Superblok obsahuje:
- počet inode
- počet blokov
- počet rezervovaných blokov
- číslo prvého bloku
- veľkosť bloku
- fragment size
- počet blokov v skupine
- počet fragmentácií v skupine
- počet inode v skupine
- čas posledného namontovania
- čas posledného zápisu
- počet namontovaní od poslednej kontroly
- maximálny počet namontovaní do kontroly
- magické číslo ako označenie typu
- stav súborového systému: v poriadku (čisto odmontovaný) alebo chyba
- správanie pri detekcii chyby
- číslo revízie (minor)
- čas poslednej kontroly súborového systému
- maximálna doba medzi kontrolami
- štandardný ID používateľa a skupiny pre rezervované bloky
Inode
Inode obsahuje:
- režim súboru: práva na čítanie, zápis, vykonanie
- ID vlastníka
- veľkosť súboru v bajtoch
- čas posledného prístupu (atime)
- Čas poslednej zmeny inode (ctime)
- Čas poslednej zmeny súboru (mtime)
- Čas zmazania (dtime)
- ID skupiny
- počet odkazov
- počet blokov
- flags
- použité bloky
- priame bloky
- nepriame bloky
- dvojnásobne nepriame bloky
Adresáre
Blok obsahuje zoznam čísel inode a názvy položiek adresára.
Súbory
Iba skupina blokov. Čísla blokov sú uložené v inode súboru. Žiadne magické číslo -- iba bloky dát.
Linky
Hard linky a soft linky
Špeciálne súbory
Vytvorené príkazom mknod:
- blokové a znakové špeciálne zariadenia
- FIFO