Материал: Лекции_ОС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

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

XFS - журналируемая файловая система разработанная Silicon Graphics, но сейчас выпущенная открытым кодом (open source).

Официальная информация на http://oss.sgi.com/projects/xfs/

XFS была создана в начале 90ых (1992-1993) фирмой Silicon Grapgics (сейчас SGI) для мультимедийных компьютеров с ОС Irix. Файловая система была ориентирована на очень большие файлы и файловые системы. Особенностью этой файловой системы является устройство журнала - в журнал пишется часть метаданных самой файловой системы таким образом, что весь процесс восстановления сводится к копированию этих данных из журнала в файловую систему. Размер журнала задается при создании системы, он должен быть не меньше 32 мегабайт; а больше и не надо - такое количество незакрытых транзакций тяжело получить.

Некоторые особенности:

  • Более эффективно работает с большими файлами.

  • Имеет возможность выноса журнала на другой диск, для повышения производительности.

  • Сохраняет данные кэша только при переполнении памяти, а не периодически как остальные.

  • В журнал записываются только мета-данные.

  • Используются B+ trees.

  • Используется логическое журналирование  

 

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

RFS (RaiserFS) - журналируемая файловая система разработанная Namesys.

Официальная информация на RaiserFS

Некоторые особенности:

  • Более эффективно работает с большим количеством мелких файлов, в плане производительности и эффективности использования дискового пространства.

  • Использует специально оптимизированные b* balanced tree (усовершенствованная версия B+ дерева)

  • Динамически ассигнует i-узлы вместо их статического набора, образующегося при создании "традиционной" файловой системы.

  • Динамические размеры блоков.

 

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

JFS (Journaled File System) - журналируемая файловая система разработанная IBM для ОС AIX, но сейчас выпущенная как открытый код.

Официальная информация на Journaled File System Technology for Linux

Некоторые особенности:

  • Журналы JFS соответствуют классической модели транзакций, принятой в базах данных

  • В журнал записываются только мета-данные

  • Размер журнала не больше 32 мегабайт.

  • Асинхронный режим записи в журнал - производится в моменты уменьшения трафика ввода/вывода

  • Используется логическое журналирование.  

14.4 Сравнительная таблица некоторых современных файловых систем

 

NTFS

EXT3

RFS

XFS

JFS

Хранение информации о файлах

MFT

inode

inode

inode

inode

Максимальный размер раздела  

16 Эбайт

4 Тбайт

4 гигаблоков (т.к. блоки динамические)

18 тыс. Пбайт

32 Пбайт

Размеры блоков

от 512 байт до 64 Кбайт

1 Кбайт - 4 Кбайт

До 64 Кбайт (сейчас фиксированы 4 Кбайт)

от 512 байт до 64 Кбайт

512/1024/ 2048/4096 байт

Максимальное число блоков

2^48

2^32

 

 

2^32

Максимальный размер файла

 

2 Гбайт

4 Гбайт

9 тыс. Пбайт

4 Пбайт

Максимальная длина имени файла

255

255

 

 

 

Журналирование

Да

Да

Да

Да

Да

Управление свободными блоками

 

Нет

На основе битовой карты

B-деревья, индексированные по смещению и по размеру

Дерево+ Binary Buddy

Экстенты для свободного пространства

 

Нет

Нет

Да

Нет

B-деревья для элементов каталогов

Да

Нет

Как поддерево основного дерева файловой системы

Да

Да

B-деревья для адресации блоков файлов

 

Нет

Внутри основного дерева файловой системы

Да

Да

Экстенты для адресации блоков файлов

 

Нет

Да (с 4 версии)

Да

Да

Данные внутри inode (небольшие файлы)

 

Нет

Да

Да

Нет

Данные симво-льных ссылок внутри inode

 

Нет

Да

Да

Да

Элементы каталогов внутри inode (небольшие каталоги)

 

Нет

Да

Да

Да

Динамическое выделение inode/MFT

Да

Нет

Да

Да

Да

Структуры управления динамически выделяемыми inode

 

Нет

Общее B*дерево

B+дерево

B+дерево с непрерывными областями inode

Поддержка разреженных файлов

Да

Нет

Да

Да

Да

 

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

NFS (Network File System) - сетевая файловая система. Создана для объединения файловых систем по сети.

 

14.4.1 Архитектура файловой системы nfs

Предоставляется доступ к каталогу (экспортируется) с подкаталогами. Информация об экспортируемых каталогах хранится в /etc/exports. При подключении эти каталоги монтируются к локальной файловой системе.

Примеры монтирования удаленных файловых систем

 

14.4.2 Протоколы файловой системы nfs

Протокол - набор запросов и ответов, клиента и сервера.

Используется два протокола:

Протокол управления монтирования каталогов

Протокол управления доступа к каталогам и файлам

 

14.4.3 Реализация файловой системы nfs

 

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

 

VFS (Virtual File System) - виртуальная файловая система. Необходима для управления таблицей открытых файлов.

Записи для каждого открытого файла называются v-узлами (virtual i-node).

VFS используется не только для NFS, но и для работы инородными файловыми системами (FAT, /proc и т.д.)

 

Алгоритм работы NFS (рассмотрим последовательность системных вызовов mount, open и read):

  1. Вызывается программа mount, ей указывается удаленный каталог и локальный каталог для монтирования.

  2. Программа ищет сервер, соединяется с ним.

  3. Запрашивает дескриптор каталога.

  4. Программа mount обращается к системному вызову mount для монтирования полученного каталога.

  5. Ядро формирует v-узел для открытого удаленного каталога.

  6. Ядро формирует r-узел (удаленный i-узел) для удаленного каталога в своих внутренних таблицах. В результате v-узел указывает либо на r-узел для удаленного каталога, либо на i-узел одной из локальных файловых систем.

  7. Система просит программу клиента NFS открыть файл.

  8. Создаются v-узел и r-узел для удаленного файла.

  9. Вызывающему процессу выдается дескриптор удаленного файла.

  10. Теперь этот процесс может работать с файлом, используя вызов read.

 

  

Литература

  • Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>

  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)

Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт) подробнее>>

Источник: https://files.student-it.ru/previewfile/284616

Смотрите также:

2014 biblioonline ru