inode

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

inode (вимовляється айнод чи інод; також індексний дескриптор) — структура даних на традиційних Unix-подібних операційних системах. inode зберігає усю інформацію про звичайний файл, директорію чи будь-який інший об’єкт файлової системи за винятком самих даних та імені.

Деталі[ред.ред. код]

Файлові системи ґрунтуються на структурах даних, що містять тільки інформацію про файли, без самого тіла файлу. Це поняття називається метаданими — інформацією про інформацію. Кожен файл зв’язаний зі своїм inode, що ідентифікується за певним номером (який називають і-номером чи інодом).

inode зберігають таку інформацію про файли і каталоги, як групу належності, режим доступу і тип файлу. В багатьох файлових системах максимальна кількість інодів зафіксована на етапі проектування ФС, що обмежує максимальну кількість можливих файлів. Зазвичай під іноди виділяється 1% від загального об’єму ФС.

і-номер є покажчиком на елемент таблиці інодів, що зберігається у визначеному місці ФС. Знаючи цей номер, ядро операційної системи може отримати доступ до відповідного айноду, а отже і до вмісту файлу.

Імена файлів і каталоги:

  • іноди не зберігають імена файлів, тільки їхні метадані;
  • каталоги Unix — це список взаємозв’язаних структур, кожна з яких включає по одному імені файлу і айнод;
  • драйвер ФС має здійснити пошук для певного імені файлу і тоді перетворити його на відповідний і-номер.

Опис inode в POSIX[ред.ред. код]

На опис файлових систем у POSIX сильно вплинули традиційні ФС Unix. Тому звичайні файли повинні мати наступні атрибути:

  • розмір файлу в байтах;
  • ідентифікатор пристрою (вказує пристрій, на якому знаходиться файл);
  • ідентифікатор користувача;
  • ідентифікатор групи;
  • режим файлу, що визначає власника файлу, його групу та режим доступу;
  • часова мітка, що вказує дату останньої модифікації файлу;
  • лічильник посилань, що вказує кількість жорстких посилань, що вказують на даний inode;
  • вказівники на блоки диску, де зберігається вміст файлу;