inode
inode (вимовляється айнод чи інод; також індексний дескриптор) — структура даних на традиційних Unix-подібних операційних системах. inode зберігає усю інформацію про звичайний файл, директорію чи будь-який інший об’єкт файлової системи за винятком самих даних та імені.
Деталі
Файлові системи ґрунтуються на структурах даних, що містять тільки інформацію про файли, без самого тіла файлу. Це поняття називається метаданими — інформацією про інформацію. Кожен файл зв’язаний зі своїм inode, що ідентифікується за певним номером (який називають і-номером чи інодом).
inode зберігають таку інформацію про файли і каталоги, приналежність користувачу, режим доступу (дозволи на читання запис та виконання) і тип файлу. В багатьох файлових системах максимальна кількість інодів зафіксована на етапі проектування, що обмежує максимальну кількість можливих файлів. Зазвичай під іноди виділяється 1% від загального об’єму ФС.
і-номер є покажчиком на елемент таблиці інодів, що зберігається у визначеному місці ФС. Знаючи цей номер, ядро операційної системи може отримати доступ до відповідного айноду, а отже і до вмісту файлу.
Імена файлів і каталоги:
- іноди не зберігають імена файлів, тільки їхні метадані;
- каталоги Unix — це список взаємозв’язаних структур, кожна з яких включає по одному імені файлу і айнод;
- драйвер ФС має здійснити пошук для певного імені файлу і тоді перетворити його на відповідний і-номер.
Опис inode в POSIX
На опис файлових систем у POSIX сильно вплинули традиційні ФС Unix. Тому звичайні файли повинні мати наступні атрибути:
- розмір файлу в байтах;
- ідентифікатор пристрою (вказує пристрій, на якому знаходиться файл);
- ідентифікатор користувача;
- ідентифікатор групи;
- режим файлу, що визначає власника файлу, його групу та режим доступу;
- часова мітка, що вказує дату останньої модифікації файлу;
- лічильник посилань, що вказує кількість жорстких посилань, що вказують на даний inode;
- вказівники на блоки диску, де зберігається вміст файлу;