inode
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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]Struktura i-uzlu je popsána standardem POSIX.
- 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 souboru[1][2]
- 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ě).[3]
Odkazy
[editovat | editovat zdroj]Literatura
[editovat | editovat zdroj]- BRANDEJS, Michal. UNIX – Linux: praktický průvodce. Praha: Grada Publishing, 1996. ISBN 80-7169-170-4. Kapitola 3. Systém souborů, s. 29–32.
Reference
[editovat | editovat zdroj]- ↑ viz soubor
ext3_fs.h
ve zdrojových kódech linuxového jádra, makroEXT3_NDIR_BLOCKS
- ↑ soubor
ext3_fs.h
[nedostupný zdroj] pro jádro 2.6.39.1 na http://kernel.org - ↑ – Unix inode structure. www.tux4u.nl [online]. [cit. 2010-04-23]. Dostupné v archivu pořízeném dne 2007-01-29.
Související články
[editovat | editovat zdroj]- 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
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu inode na Wikimedia Commons
- 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)