[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Структура файловой системы JFS2

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

Главный блок

Главный блок занимает 4096 байт на диске и располагается, начиная с байта со смещением 32768. В следующих полях главного блока хранится информация обо всей файловой системе:

Карты размещения

В файловой системе предусмотрено две карты размещения:

i-узлы диска

Логический блок содержит данные одного файла или каталога. Дисковая память логического блока выделяется блоками файловой системы. Каждому файлу и каталогу соответствует i-узел, содержащий информацию о доступе, такую как тип файла, права доступа, ИД владельца и число связей с данным файлом. Кроме того, i-узлы содержат "двоичное (B+) дерево", позволяющее найти расположение на диске любого участка файла.

Группы размещения

Группы размещения делят пространство файловой системы на участки. Группы размещения - чисто эвристическое понятие; они позволяют стратегиям размещения ресурсов JFS2 применять стандартные способы для увеличения производительности ввода-вывода. Стратегия размещения сначала пытается объединить блоки и i-узлы связанных данных для увеличения локальности доступа к диску. Чтение и запись файлов часто происходит последовательно, и файлы в одном каталоге часто используются один за другим. Затем стратегия размещения пытается распределить несвязанные данные по файловой системе также для увеличения локальности доступа.

Группы размещения файловой системы идентифицируются по индексу, или номеру группы (начинается с нуля).

Размеры групп размещения

Размеры групп размещения должны выбираться таким образом, чтобы обеспечить последовательный доступ к большому объему данных. Всего может быть не больше 128 групп размещения. Минимальный размер группы размещения - 8192 блоков файловой системы.

Неполные группы размещения

Файловая система, размер которой не кратен размеру группы размещения, содержит одну неполную группу размещения; последняя группа размещения файловой системы содержит меньшее число блоков, чем остальные. Эта неполная группа размещения ничем не отличается от обычной, кроме того, что несуществующие блоки в ее карте размещения помечены как занятые.

эвристический
Относящийся к способу решения задач, при котором для следующего шага выбирается наиболее подходящее решение из нескольких, найденных альтернативными способами.

Использование функций работы с файловой системой

При работе с файловой системой наиболее часто используются следующие функции:

fscntl Выполняет операции по управлению файловой системой
getfsent, getfsspec, getfsfile , getfstype, setfsent и endfsent
  Позволяют получать информацию о файловой системе
lseek Перемещает указатель чтения/записи
mntctl Возвращает информацию о состоянии монтирования
vmount и mount Переводят файловую систему в состояние готовности к работе
statfs, fstsfs и ustat Позволяют получить статистическую информацию о файловой системе
sync Записывает обновления в файловой системе на диск 

Для работы с виртуальными файловыми системами (VFS) предназначены следующие функции:

getvfsent, getvfsbytype, getvfsbyname, getvfsbyflag, sevfsent и endvfsent
  Считывают запись VFS
umount и uvmount Удаляют VFS из дерева файлов

Связанная информация

Команда mkfs

Работа с i-узлами JFS2

Глава 5, Файловые системы и каталоги

Глава 13, Создание программ, работающих с логическими томами

Создание журнализированной файловой системы на новом логическом томе

Создание новых типов файловых систем

Распределение памяти в JFS


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]