Az index csomópont vagy inode (az angol index és csomópont összehúzódása ) egy olyan adatstruktúra, amely információkat tartalmaz egy bizonyos fájlrendszerekben tárolt fájlokról vagy könyvtárakról (különösen a Linux / Unix típusról ). Minden fájlnak van egy inode száma ( i-száma ) abban a fájlrendszerben, amelyben található, egyedi az eszközhöz , amelyen található.
Minden fájlnak egyetlen inode-ja van, bár több neve is lehet (ezek mindegyike ugyanarra az inode-ra utal). Minden nevet linknek nevezünk.
Az inodes a fájlrendszertől függően információkat is tartalmazhat a fájlról, például a létrehozójáról (vagy tulajdonosáról), a hozzáférés típusáról (például a Unix alatt: olvasás, írás és végrehajtás) stb.
Az inódok különösen a fájlok metaadatait tartalmazzák, különös tekintettel a hozzáférési jogokra .
Az inodes a fájlrendszer létrehozásakor jön létre . Az összeg fájlleírókról (általában határozza formázás közben és méretétől függően a partíció ) azt a maximális számát fájlok a fájlrendszer képes tárolni.
Az inode száma egy egész szám, amely egyedi annak a fájlrendszernek, amelyben tárolva van. A paranccsal megjeleníthető egy fájl inode számamon-fichier.txt
ls -i mon-fichier.txtAz inode kifejezés általában a blokkeszközön lévő inódokra utal (lásd: (az) eszközcsomópont ), amelyek szabályos fájlokat, könyvtárakat és esetleg szimbolikus linkeket kezelnek . Ez a koncepció különösen fontos a sérült fájlrendszer sikeres javításában (lásd: fsck ).
A POSIX szabvány a hagyományos Unix fájlrendszereken alapult. Ezért ez a szabvány megköveteli, hogy a rendszeres fájlok a következő tulajdonságokkal rendelkezzenek :
Megjegyzés: Az inodes nem tartalmazza a fájlok nevét.
Lásd stat (Unix) .
Az inódok memóriában belüli reprezentációját a kernelben struktúrának hívjuk Linux alatt. A BSD-ből (Berkeley) származó rendszerek a vnod nevű struktúrát használják (v jelentése itt virtuális ).
Inodes a ReiserFS-benA nem hagyományos Unix fájlrendszerek, például a ReiserFS elkerülik a rögzített méretű inode táblázatot, rugalmasabb struktúrát alkalmaznak az inodes kezelésére.
Az Ext2 egy általános fájlrendszer a Linuxban, bár ma már gyakran az Ext4 váltja fel (az ext3 egy extra naplóval rendelkező ext2).
Minden inode körülbelül 64 mezőt tartalmaz, amelyek közül 13 kétféle típusú blokkot tartalmaz:
Az első 10 mező (a 13-ból) a fájl első 10 adatblokkjának címét tartalmazza (blokkonként egy cím sebességével). Ha azok a blokkok, amelyekre az első 10 mező mutat, elegendőek a fájl tárolásához, a 11., 12. és 13. mezőt nem használják.
Egyébként az első 10 blokkon kívül a 11., 12. és 13. blokkot használják. Ezek a blokkok indirekciós rendszer szerint működnek. A közvetlenségnek három szintje van:
Minél magasabb a közvetlenség szintje, annál nagyobb lesz az adatblokkok végső száma, amelyre a mező mutat (11, 12 vagy 13). Ez a rendszer tehát lehetővé teszi a fájlok jelentős méretét.
Konkrétan mind a három mező egy címblokkra mutat, amely egy vagy több címre vagy adatblokkra mutathat. Feltéve, hogy a blokkok 1024 bájt (1 KiB) méretűek, és minden cím (címblokk esetén) 32 bites (4 bájtos) tárolású, minden címblokk 256-ot tartalmaz. viszont kiszámítható a fájl maximális mérete.
A lemezen történő tároláshoz egy olyan nagy fájlnak, amelyet nem lehet 10 adatblokkban tárolni, a 11., 12. és 13. mezőt kell használnia.
A 11. mező egy címblokkra mutat. Ez a címblokk adatblokkokra mutató mutatókat tartalmaz (256 mutató). Ez egyszerű indirection Ha ez elegendő ahhoz, hogy tartalmazza a fájlt, számítva a blokkok által mutatott az első 10 mezők, mezők 12 és 13 nem használt.
Ellenkező esetben a rendszer kettős indirekciót fog kérni (12. mondat). Ez a blokk a 11. mezőhöz hasonlóan egy címblokkra mutat. Ez a címblokk azonban nem mutat 256 adatblokkra; 256 másik címblokkra mutat. Ezek a 256 címblokkok mutatnak 256 adatblokkra. Ha ezek az adatok blokk nem elegendőek, hogy tartalmazza a teljes fájlt, használja a 13 th terén.
A 13 th mező egy tripla közvetett . Ez azt jelenti, hogy a mező maga egy 256 című blokkra mutat (például a 11. és 12. blokk). Ez a 256 mutató egy-egy 256 című blokkra mutat, például a 12. mező. Ezek az új címblokkok azonban nem adatblokkokra mutatnak, hanem más címblokkokra (ismét 256), amelyek maguk is 256 adatblokkra mutatnak.
A blokk és a cím méretére vonatkozóan a fentiekben meghatározott feltételezések felhasználásával egyszerű kiszámolni egy fájl maximális méretét egy EXT2 fájlrendszerben.
Először meg kell határozni, hogy az indirekciós rendszer összesen hány adatblokkot fog mutatni:
Ezután a maximális fájlméret kiszámolható úgy, hogy megszorozzuk az összes adatblokk számát 1024 bájttal:
Az EXT2 fájlrendszerrel a maximális fájlméret (figyelembe véve a fenti blokkméret-feltételezéseket) 17 247 250 432 bájt, azaz körülbelül 16 GiB (vagy 17 GB).
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">