Індексні дескриптори - студопедія

Індексний дескриптор, або 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 блок може використовуватися тільки одним файлом, тому останній блок файлу використовується, як правило, в повному обсязі. До того ж такий підхід з часом призводить до збільшення фрагментації системи, коли дані файлу виявляються довільно розкиданими по диску, що, в свою чергу, збільшує час доступу до файлу і зменшує продуктивність обміну даними. Єдиним способом зменшення фрагментації файлової системи є створення повної резервної копії на іншому носії (або в інший файлової системи) і потім її відновлення. При цьому запис файлів буде проводитися послідовно без фрагментації.

Схожі статті