Індексний дескриптор, або inode, містить інформацію про фото, необхідну для обробки даних, т. Е. Метадані файлу. Кожен файл асоційований з одним inode, хоча може мати кілька імен в системі, кожне з яких вказує на один і той же inode.
Індексний дескриптор не містить:
· Імені файлу, яке міститься в блоках зберігання даних каталогу;
· Вмісту файлу, яке розміщене в блоках зберігання даних.
При відкритті файлу ядро поміщає копію дискового inode в таблицю in-core inode, яка містить кілька додаткових полів. Структура дискового inode (struct dinode) приведена на рис. 15.8. Основні поля дискового inode наступні:
Тип файлу, додаткові атрибути виконання і првава доступу
Число посилань на файл, тобто кількість імен, які має файл в файловій системі
Ідентифікатори власника-користувача і власника-групи.
Розмір файлу в байтах. Для спеціальних файлів це поле містить старший і молодший номер пристрою.
Поле di_mode зберігає кілька атрибутів файлу: тип файлу (IFREG - для звичайних файлів, IFDIR - для каталогів, IFBLK або IFCHR для спеціальних файлів блокових і символьних пристроїв відповідно); права доступу до файлу для трьох класів користувачів і додаткові атрибути виконання (SUID, SGID і sticky bit), значення цих атрибутів будуть розглянуті пізніше.
Зауважимо, що в індексному дескрипторі відсутня інформація про час створення файлу. Замість цього inode зберігає три значення часу: останнього доступу (di_atime), час останньої модифікації вмісту файлу (di_mtime) і час останньої модифікації метаданих файлу (di_ctime). В останньому випадку не враховуються модифікації полів di_atime і di_mtinie. Таким чином, di_ctime змінюється, коли змінюється розмір файлу, власник, група або число зв'язків.
Розміщення даних файлу в довільно розташованих дискових блоках дозволяє ефективно використовувати дисковий простір, оскільки ядро може використовувати будь-який вільний дисковий блок для розміщення даних. Однак в файлової системі s5f's блок може використовуватися тільки одним файлом, тому останній блок файлу використовується, як правило, в повному обсязі. До того ж такий підхід з часом призводить до збільшення фрагментації системи, коли дані файлу виявляються довільно розкиданими по диску, що, в свою чергу, збільшує час доступу до файлу і зменшує продуктивність обміну даними. Єдиним способом зменшення фрагментації файлової системи є створення повної резервної копії на іншому носії (або в інший файлової системи) і потім її відновлення. При цьому запис файлів буде проводитися послідовно без фрагментації.