inode, i-node, česky i-uzel je v informatice datová struktura uchovávající metadata o souborech a adresářích používaná v unixových souborových systémech, které vycházejí z tradičního UFS (například linuxová řada ext2, ext3, ext4). Z důvodu zachování zpětné kompatibility ostatní souborové systémy i-uzly emulují (např. NFS).

Popis + Příkazy související s i-uzly Příkaz Popis df Obsazený datový prostor df -i Obsazené i-uzly ls -i Obsah adresáře a čísla i-uzlů

i-uzel obsahuje metadata pro každý libovolně velký soubor i adresář, například čas poslední změny, přístupová práva, seznam datových bloků a podobně. V adresářích jsou pak dvojice název souboru a k němu příslušné číslo i-uzlu, které pomocí metadat popisuje vlastní uloženou datovou část souboru nebo adresáře. Vzhledem k tomu, že (téměř) vše je v unixových systémech soubor (vlastně i adresář je speciální soubor), je i-uzel univerzální datovou strukturou pro metadata.

Počet i-uzlů je u klasických souborových systémů (ext2, ext3) určen při formátování systému souborů a později již nemůže být změněn. Jejich množství určuje maximální počet adresářů a souborů, které lze v souborovém systému vytvořit. I když může být na disku volné místo pro data (tj. volné datové bloky), nemusí být možné z důvodu nedostatku volných i-uzlů vytvořit další soubory a adresáře.

Struktura i-uzlu Struktura i-uzlu je popsána standardem POSIX.

náhled|vpravo|Náčrt struktury i-uzlu

MODE – typ souboru a přístupová práva (vlastník, skupina, ostatní) REFERENCE COUNT – počet odkazů na tento objekt (viz pevný odkaz) OWNER – vlastník (ID vlastníka) GROUP – skupina (ID skupiny) SIZE – velikost objektu TIME STAMPS – časové informace atime: čas posledního přístupu (čtení ze souboru, výpis adresáře) mtime: čas poslední změny datové části (souboru, adresáře) ctime: čas poslední změny I-uzlu (metadat) DIRECT BLOCKS – 12 přímých odkazů na datové bloky obsahující data uložená v souboruviz soubor ext3_fs.h ve zdrojových kódech linuxového jádra, makro EXT3_NDIR_BLOCKSsoubor ext3_fs.h pro jádro 2.6.39.1 na http://kernel.org SINGLE INDIRECT – 1 odkaz na datový blok, který obsahuje místo dat seznam přímých odkazů na datové bloky obsahující vlastní data uložená v souboru (první nepřímá úroveň) DOUBLE INDIRECT – 1 odkaz druhé nepřímé úrovně (viz obrázek vpravo) TRIPLE INDIRECT – 1 odkaz třetí nepřímé úrovně

V souborových systémech ext (Linux) následují ještě příznaky (FLAGS), počet aktuálně použitých datových bloků a rezervovaná část, která může obsahovat doplňující informace (odkaz na rodičovský adresář, ACL, rozšířené atributy a podobně).

Odkazy

Literatura

Reference

Související články UFS – tradiční unixový systém souborů využívající i-uzly ext, ext2, ext3, ext4 – Extended file system (inspirován UFS, používá i-uzly) Systém souborů v Unixu

Externí odkazy

Popis ext2 – Hubičkova školička (česky) I-uzel – Výkladový slovník abclinuxu.cz File Systems (anglicky) File systems 2 (anglicky) The Linux Virtual File-system Layer: Inodes and Operations (anglicky)

Kategorie:Souborové systémy