Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Theory 2.Architecture _Unix.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
239 Кб
Скачать
☆

Другие файловые системы Open Unix

Кроме описанных выше, в Open Unix поддерживаются также файловые системы:

  • bfs - специализированная файловая система для загрузки и выполнения отдельных программ;

  • dosfx - файловые системы FAT (FAT-12, FAT-16, FAT-32 и VFAT);

  • memfs - файловая система для виртуальных дисков в памяти;

  • cdfs - файловая система CD-ROM.

  • nfs - сетевая файловая система

Файловая система jfs

ОС IBM AIX работает также с файловыми системами JFS (эта файловая система перенесена также в OS/2 v.5) и JFS2.

О JFS мы расскажем вкратце, так как она во многом похожа на файловые системы, рассмотренные нами выше. Дисковая память выделяется логическими блоками, размер которых может выбираться от 512 байт до 4 Кбайт. Предусматриваются также "частично заполненные" блоки меньшего размера, в которых хранятся последние части файлов, если они слишком малы для выделения им полного блока. Файловый дескриптор содержит 8 прямых адресов блоков с данными файла и 9-й - адрес блока, через который осуществляется косвенная адресация к остальным данным файла - одноуровневая или (для очень больших файлов) двухуровневая.

Несколько более подробно рассмотрим файловую систему JFS2. Загрузочный блок JFS2 имеет размер 4 Кбайт и располагается, конечно, в первых секторах диска. Однако суперблок (его размер также 4 Кбайт) располагается со смещением 32 Кбайт от начала диска. В суперблоке содержится:

  • размер файловой системы;

  • число блоков данных в файловой системе;

  • состояние файловой системы;

  • размер группы распределения;

  • размер логического блока.

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

  • карта для файловых индексов;

  • карта для блоков данных.

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

Единицей дисковой памяти также является логический блок, размер которого выбирается от 512 байт до 4 Кбайт. Но дисковое пространство для файла выделяется экстентами. Экстент занимает непрерывную область дисковой памяти, состоящую из целого числа логических блоков. Большой экстент может даже находиться в нескольких группах распределения. В плане размещения файла экстент представляется номером первого блока и количеством блоков в экстенте, которое может принимать значения от 1 до 224-1.

Каждый файловый индекс имеет уникальный во всей файловой системе номер и размер 512 байт. Файловые индексы выделяются системой динамически. В каждом файловом индексе содержится:

  • тип файла;

  • размер файла и число выделенных файлу блоков;

  • информация о правах доступа;

  • число алиасов для файла;

  • времена доступа и модификации;

  • данные файла или план размещения файла.

Для небольших файлов сами данные файла содержатся во второй части файлового индекса. Для больших файлов вторая часть индекса содержит корень B+-дерева, через которое адресуются экстенты файла.

Также в B+-деревья структурированы каталоги. Элемент каталога имеет размер 512 байт и содержит имя файла и номер файлового индекса для файла. Имеющиеся в любом каталоге элементы с именами "." и ".." записаны не в элементы каталога, но хранятся в самом файловом индексе каталога.

 

Драйверы устройств во всех Unix являются частью ядра, а не пользовательскими процессами. Доступ к драйверу на пользовательском уровне возможен через специальные файлы устройств, находящиеся в каталоге /dev. Ядро преобразует файловые операции, выполняемые над этими файлами, в обращения к драйверу.

В системе ввода-вывода различаются два типа устройств - блочные и символьные.