Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 20:

Виртуальные файловые системы (VFS). Реализации файловых систем. Сетевая файловая система NFS

< Лекция 19 || Лекция 20: 12345 || Лекция 21 >
Аннотация: В лекции рассмотрены следующие вопросы: виртуальные файловые системы (VFS); реализация файлов с помощью FAT (Windows) и индексных блоков (UNIX); управление внешней памятью; кэширование; файловые системы на основе журнала транзакций; сетевая файловая система NFS.
Ключевые слова: сетевая файловая система, операции, виртуальная файловая система, интерфейс, API, Директория, поиск, эффективная реализация, список, хеш-функция, адрес, значение, файл, динамическое распределение памяти, Размещение, файловая система, HP-UX, длина, доступ, MS-DOS, OS/2, Windows, FAT, имя файла, удаление файла, удаление элемента, кластер, DOS, системная утилита, таблица, Unix, ссылка, блок данных, целостность, команда, логический адрес, размер файла, логический, адресация, очередь, бит, битовый вектор, указатель, список свободной памяти, представление, последовательным доступом, основная память, RAM, кэш, память, операция ввода/вывода, системные программы, Стример, жесткий диск, автор, trustworthy, систематический, система управления базой данных, журнал транзакций, транзакция, место, SUN Microsystems, NFS, сеть, сетевой протокол, датаграмма, сеть Ethernet, демон, асинхронный ввод/вывод, поддерево, удаленная файловая система, связь, запрос, RPC, mount, сервер, ключ, идентификатор, атрибут файла, диск, механизмы, дескриптор файла, компонент, закрытие файла, буферизация, кэширование, ядро, extent, allocator, table, производительность, резервное копирование, надежность, удаленный вызов процедур, XDR, внешнее представление, stateless, архитектура

Презентацию к данной лекции Вы можете скачать здесь.

Введение

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

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

Виртуальные файловые системы (VFS) обеспечивают объектно-ориентированный способ реализации файловых систем.

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

Данный API является набором операций над самой VFS, а не над каким-либо специфическим типом файловых систем.

Схема организации виртуальной файловой системы изображена на рис. 20.1.

Схема организации виртуальной файловой системы.

увеличить изображение
Рис. 20.1. Схема организации виртуальной файловой системы.

Реализация директорий

Директория – центральная системная структура в файловой системе, на которой основан поиск файлов. Поэтому эффективная реализация директорий особенно важна.

Наиболее простой метод реализации директорий - линейный список имен с указателями на блоки данных. Такая реализация просто программируется, однако требует большого времени выполнения.

Более эффективный метод реализации - хеш-таблица – линейный список с хеш-оглавлением и подразделением на (небольшие) списки элементов с одним и тем же значением хеш-функции. Такой метод уменьшает время поиска в директории.

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

Методы размещения файлов

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

  • Смежное размещение
  • Ссылочное размещение
  • Индексированное размещение.

При смежном размещении каждый файл занимает набор смежных блоков на диске. Преимущество данного метода - простота: требуется хранить только одну ссылку (номер блока) и длину (число блоков). Другим преимуществом является возможность произвольного доступа.

Недостатки данного метода следующие:

  • возможны потери дисковой памяти из-за фрагментации (метод аналогичен общей задаче динамического распределения памяти, рассмотренной ранее);
  • невозможность увеличения размера файла.

Смежное размещение файлов иллюстрируется на рис. 20.2.

Смежное размещение файлов.

Рис. 20.2. Смежное размещение файлов.

Файловые системы, основанные на расширениях

Многие современные файловые системы, - например, Veritas File System, или Vx-FS – основная файловая система в ОС HP-UX фирмы Hewlett-Packard, - используют модифицированное смежное размещение файлов. Дисковые блоки в такой системе размещаются в расширениях (extents).Расширение – это смежный блок на диске. Файл состоит из одного или нескольких расширений. Таким образом, если длина файла не увеличивается, он хранится в виде одной смежной области внешней памяти, что обеспечивает максимальную эффективность доступа. В случае увеличения длины файл представляется списком из основной части и расширений.

< Лекция 19 || Лекция 20: 12345 || Лекция 21 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков
Алихан Ергалиев
Алихан Ергалиев
Россия
Иван Иванов
Иван Иванов
Украина, Черкаси