Inode | это... Что такое Inode? (original) (raw)

inode

В информатике инодом (или индексным дескриптором) (произносится айнод или инод) называют структуру данных в традиционных файловых системах Unix, таких как UFS. Инод хранит основную информацию о постоянных файлах, каталогах или других объектах файловой системы.

Содержание

Подробности

При создании файловой системы создаются также и структуры данных, содержащие информацию о файлах. Каждый файл имеет свой индексный дескриптор, идентифицируемый по уникальному номеру (часто называемому 'i-номером' или 'инодом'), в файловой системе, в которой располагается сам файл.

Иноды хранят информацию о файлах, такую как принадлежность владельцу (пользователю и группе), режим доступа (чтение, запись, запуск на выполнение) и тип файла. Существует определенное число инодов, которое указывает максимальное количество файлов, допускаемое определенной файловой системой. Обычно, при создании файловой системы примерно 1 % ее выделяется под иноды.

Термин инод обычно указывает на иноды блочных устройств, управляющие постоянными файлами, каталогами и, по возможности, символьными ссылками. Подобная концепция играет важную роль при восстановлении поврежденных файловых систем.

Имена файлов и содержимое каталогов

Представление ядром этих данных в памяти называется struct inode (структурным инодом) (в ОС Linux). В BSD система использует терм vnode, буква v в котором указывает на виртуальную файловую систему уровня ядра.

Описание инода в POSIX

Стандарты POSIX описывают поведение файловой системы как потомка традиционных файловых систем Unix. Постоянные файлы должны иметь следующие атрибуты:

Системный вызов stat считывает номер инода файла и некоторую информацию из инода.

Происхождение слова

Точная причина использования «и» в узлах (нодах) неизвестна. В ответ на вопрос об этом один из пионеров Unix-систем Деннис Ритчи ответил:

То есть index node (индексный узел, элемент) → index-nodei-nodeinode — постепенное укорочение и слияние словосочетания index node. По другой версии, начальная буква i в _i_-node происходит от слова information (информация).

Значение

Особенности файловой системы, которые приводят к использованию инодов, обескураживают многих пользователей, не знакомых с этой концепцией:

Практическое применение

Множество программ, используемых системными администраторами в операционной системе UNIX, часто используют номера инодов для обозначения файлов. Популярная встроенная программа проверки жестких дисков [fsck](366967) или команда pfiles могут послужить в данном случае примерами, так как у них есть необходимость естественным образом конвертировать номера инодов в пути файлов и обратно. Это может быть дополнено использованием программы поиска файлов [find](310797) с ключом -inum или командой [ls](15830) с соответствующим ключом (которым на большинстве платформ является -i).

Иноды могут 'закончиться'. В этом случае нельзя записать информацию на устройство, даже если там достаточно свободного места.

Проблема Y2038

Некоторые файловые системы, основаные на инодах, защищены от проблемы Y2038 (известной как Unix time) с учетом предотвращения 'переполнения' даты, но, к сожалению, далеко не все такие файловые системы защищены от подобных проблем. При настройке сервера отказ от использования подобных POSIX-несовместимых файловых систем становится более важным. Последняя версия POSIX поддерживает системное время и вызовы даты, устойчивые к проблеме Y2038.

См. также

Ссылки

Wikimedia Foundation.2010.