Как выделяются и освобождаются индексные дескрипторы?
долго, вы наверняка видели термин «иноды». Это то, что время от времени появляется, но не влияет на то, что вы делаете. Здесь мы объясним, что такое иноды и как они работают.Что такое Inode?
В библиотеке все книги упорядочены по жанрам, имени автора или возрастной группе аудитории. Если вы хотите найти триллер «Бобби Дэниэл
Contents
Что такое Inode?
рейти в раздел триллеров и начать искать имена авторов, начинающиеся с буквы «Б». Как и в библиотеке, все файлы в системе Linux организованы для эффективного поиска и использования. Inode — это объект, помогающий упорядочивать файлы в системе Linux.Что такое метаданные файла?
Предположим, у нас есть файл с именем «sample.txt», содержащий данные «привет».
Этот файл содержит некоторые данные и информацию, имеющую отношение к нему, например размер файла, разрешения, принадлежность пользователя и группы, временные метки создания/доступа/изменения, количество ссылок и т. д. Вся эта информация вместе называется метаданными файла.
Что такое метаданные файла?
ы?На устройстве хранения данных, таком как жесткий диск, раздел форматируется как файловая система, прежде чем он будет использоваться для хранения файлов. Файловая система — это библиотекарь жесткого диска. Формально это набор структур данных и алгоритмов, которые работают совместно для методического хранения файлов в разделе.
Разделы в системах Linux часто форматируются с помощью EXT4. Другие файловые системы, такие как файловая система B-Tree (BTRFS), файловая система Reiser, ZFS и т. д., также доступны для использования.
Объединяем их воедино
Inode — это структура данных в Ext4, содержащая все метаданные файла.
Конечно, в файловой системе может быть множество файлов. Как вы уже догадались, каждый файл будет иметь свой собственный индексный дескриптор. Чтобы однозначно идентифицировать индексные дескрипторы, каждый индексный дескриптор пронумерован.
Какой будет нумерация индексных дескрипторов?
Номера инодов в файловой системе начинаются с 1. Первые десять инодов зарезервированы для использования системой. Метаданные пользовательских файлов хранятся в индексном дескрипторе 11. Все индексные дескрипторы аккуратно сложены вместе в таблицу индексных дескрипторов.
Одна запись в таблице индексных дескрипторов будет иметь размер 256 байт. В файле Linux разумно упорядочивает все метаданные в пределах 256 байт! Кроме того, индексный дескриптор файла также будет содержать информацию о том, где в файловой системе расположены данные файла. Помните: в индексном дескрипторе хранятся только метаданные файла.
Общее количество индексных дескрипторов в файловой системе зависит от доступного пространства и количества файлов, которые можно хранить в разделе.
Как выделяются и освобождаются индексные дескрипторы?<Объединяем их воедино
авляет файлы в только что отформатированную файловую систему, для хранения метаданных файла выделяются индексные дескрипторы, начиная с 11.
Существует еще одна структура данных, называемая «Inode Bitmap», для отслеживания статуса распределения индексного дескриптора. Это набор битов, который действует как карта.
Давайте рассмотрим восемь битов в битовой карте индексных дескрипторов, чтобы обозначить статус распределения индексных дескрипторов с 11 по 18, как показано в таблице ниже. Значение 1 в растровом изображении означает, что индексный дескриптор выделен, т. е. используется для хранения метаданных файла. Значение 0 в растровом изображении означает, что индексный дескриптор в настоящее
Какой будет нумерация индексных дескрипторов?
я индекс 17.В случае удаления файла, метаданные которого находятся в индексном дескрипторе 17, его соответствующий статус растрового изображения станет равным 0, что указывает на то, что он может быть использован другим файлом.
Как просмотреть номер индексного дескриптора файла?
Это можно сделать двумя способами.
Первый вариант — использование команды ls
с переключателем -i
, за которым следует имя файла. Первое поле в выводе — это номер индексного дескриптора, который имеет метаданные «sample.txt».
Ту же информацию можно получить с помощью команды stat
, за которой следует имя файла.
Чтобы просмотреть общее количество индексных дескрипторов, доступных для раздела, можно использовать команду df
с переключателем -i
.
В разделе «/dev/sda4» доступно для использования 404754480 инодов, из которых используются только 359044 инода.
Заключение
По своей природе таблица индексных дескрипторов тщательно складывает метаданные всех файлов в индексные дескрипторы вместе с информацией о местонахождении данных файла. Все, что мы обсуждали об инодах Linux, — это всего лишь верхушка айсберга. Для получения дополнительной информации о его внутренней работе вы можете просмотреть ссылку этот .