Kniga-Online.club

Виктор Костромин - Linux для пользователя

Читать бесплатно Виктор Костромин - Linux для пользователя. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Битовая карта индексных дескрипторов выполняет аналогичную функцию по отношению к таблице индексных дескрипторов: показывает, какие именно дескрипторы заняты.

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

И, наконец, все оставшееся место в группе блоков отводится для хранения собственно файлов.

16.3. Индексные дескрипторы файлов

Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером - индексом файла. Это означает, что число файлов, которые могут быть созданы в файловой системе, ограничено числом индексных дескрипторов, которое либо явно задается при создании файловой системы, либо вычисляется исходя из физического объема дискового раздела.

Строение индексного дескриптора файла приведено в табл. 16.4.

Таблица 16.4. Структура индексного дескриптора

Название поля Тип Описание i_mode USHORT Тип и права доступа к данному файлу i_uid USHORT Идентификатор владельца файла (Owner Uid) i_size ULONG Размер файла в байтах i_atime ULONG Время последнего обращения к файлу (Access time) i_ctime ULONG Время создания файла i_mtime ULONG Время последней модификации файла i_dtime ULONG Время удаления файла i_gid USHORT Идентификатор группы (GID) i_link_scount USHORT Счетчик числа связей (Links count) i_blocks ULONG Число блоков, занимаемых файлом i_flags ULONG Флаги файла (File flags) i_reserved1 ULONG Зарезервировано для ОС i_block ULONG[15] Указатели на блоки, в которых записаны данные файла (это поле подробно описано в разд. 16.4) i_version ULONG Версия файла (для NFS) i_file_acl ULONG ACL файла i_dir_acl ULONG ACL каталога i_faddr ULONG Адрес фрагмента (Fragment address) i_frag UCHAR Номер фрагмента (Fragment number) i_fsize UCHAR Размер фрагмента (Fragment size) i_pad1 USHORT Заполнение i_reserved2 ULONG[2] Зарезервировано

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

Таблица 16.5. Структура поля, задающего тип и права доступа

Идентификатор Значение Назначение флага (поля) S_IFMT F000 Маска для типа файла S_IFSOCK A000 Доменное гнездо (socket) S_IFLNK C000 Символическая ссылка S_IFREG 8000 Обычный (regular) файл S_IFBLK 6000 Блок-ориентированное устройство S_IFDIR 4000 Каталог S_IFCHR 2000 Байт-ориентированное (символьное) устройство S_IFIFO 1000 Именованный канал (fifo) S_ISUID 0800 SUID - бит смены владельца S_ISGID 0400 SGID - бит смены группы S_ISVTX 0200 Бит сохранения задачи (sticky bit) S_IRWXU 01C0 Маска прав владельца файла S_IRUSR 0100 Право на чтение S_IWUSR 0080 Право на запись S_IXUSR 0040 Право на выполнение S_IRWXG 0038 Маска прав группы S_IRGRP 0020 Право на чтение S_IWGRP 0010 Право на запись S_IXGRP 0008 Право на выполнение S_IRWXO 0007 Маска прав остальных пользователей S_IROTH 0004 Право на чтение S_IWOTH 0002 Право на запись S_IXOTH 0001 Право на выполнение

Среди индексных дескрипторов имеется несколько дескрипторов, которые зарезервированы для специальных целей и играют особую роль в файловой системе (табл. 16.6).

Таблица 16.6. Особые индексные дескрипторы

Идентификатор Значение Описание EXT2_BAD_INO 1 Индексный дескриптор, в котором перечислены адреса дефектных блоков на диске (Bad blocks inode) EXT2_ROOT_INO 2 Индексный дескриптор корневого каталога файловой системы (Root inode) EXT2_ACL_IDX_INO 3 ACL inode EXT2_ACL_DATA_INO 4 ACL inode EXT2_BOOT_LOADER_INO 5 Индексный дескриптор загрузчика (Boot loader inode) EXT2_UNDEL_DIR_INO 6 Индексный дескриптор каталога для удаленных файлов (Undelete directory inode) EXT2_FIRST_INO 11 Первый незарезервированный индексный дескриптор

Самый важный дескриптор в этом списке - дескриптор корневого каталога. Этот дескриптор указывает на корневой каталог, который, подобно всем каталогам, представляет собой связанный список, состоящий из записей переменной длины. Каждая запись имеет следующую структуру (табл. 16.7):

Таблица 16.7. Структура дескриптора, описывающего корневой каталог

Название поля Тип Описание Inode ULONG Номер индексного дескриптора (индекс) файла Rec_len USHORT Длина этой записи Name_len USHORT Длина имени файла Name CHAR[0] Имя файла

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

Перейти на страницу:

Виктор Костромин читать все книги автора по порядку

Виктор Костромин - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Linux для пользователя отзывы

Отзывы читателей о книге Linux для пользователя, автор: Виктор Костромин. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*