Спонсор: Microsoft
Санкт-Петербургский государственный университет
Опубликован: 13.11.2010 | Доступ: свободный | Студентов: 6727 / 1528 | Оценка: 4.64 / 4.23 | Длительность: 45:08:00
ISBN: 978-5-9963-0495-0
Лекция 20:

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

< Лекция 19 || Лекция 20: 12345 || Лекция 21 >

Ключевые термины

File-allocation table (FAT) файловая система со ссылочным размещением файлов, используемая в MS DOS и в Windows.

NFS (Network File System) - распространенная сетевая файловая система, используемая в системе Solaris.

Veritas File System (Vx-FS) – основная файловая система в ОС HP-UX (Hewlett-Packard).

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

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

Индексируемое размещение файлов - метод размещения, при котором все указатели на блоки файла собраны вместе в индексный блок ; используется индексная таблица, ссылающаяся на блоки данных файла.

Индексный блок (i-node, superblock) – специальный блок при индексируемом размещении файлов, в котором хранятся указатели на блоки данных файла.

Кэширование диска – использование специальной области основной памяти для копирования часто используемых блоков диска.

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

Освобождение прочитанного (free-behind) - метод оптимизации последовательного доступа к диску, при котором основная память, где хранились копии прочитанных блоков, автоматически освобождается при считывании следующих блоков.

Расширение (extent) - смежный блок на диске для хранения части файла; файл состоит из одного или нескольких расширений.

Cмежное размещение файлов – метод размещения, при котором каждый файл занимает набор смежных блоков на диске.

Ссылочное размещение файлов – метод размещения, при котором каждый файл представляется в виде связанного списка дисковых блоков.

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

Файловая система с журналом транзакций (log structured filesystem) - файловая система, фиксирующая любое изменение как транзакцию; все транзакции записываются в журнал.

Краткие итоги

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

Способы реализации директорий в файловых системах – линейный список либо хеш-таблица. Последний обеспечивает более высокую эффективность.

Основные методы размещения файлов в файловых системах – смежное, ссылочное и индексируемое размещение.

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

В файловых системах, основанных на расширениях (extents), файл представляется как смежная область памяти и список расширений – смежных областей памяти.

При ссылочном размещении файл представляется в виде списка дисковых блоков. Например, такой метод применен в системе FAT (File Allocation Table), используемой в MS DOS и в Windows. При таком методе отсутствуют потери дискового пространства, но нет возможности произвольного доступа к файлу.

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

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

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

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

Для сохранения и восстановления файлов рекомендуется использовать резервное копирование.

Файловые системы с журналом транзакций обеспечивают повышенную надежность обработки файлов.

Сетевая файловая система NFS реализована на основе механизмов и протоколов RPC (удаленный вызов процедуры) и XDR (внешнее представление данных для передачи через сеть). Система обеспечивает работу пользователя с удаленными файловыми системами с помощью тех же операций, которые используются и для локальных файловых систем. Удаленные файловые системы монтируются на локальные. При этом указывается имя машины с удаленной директорией. В реализации NFS используются процессы-демоны. NFS-сервисы не имеют состояния (stateless). Архитектура NFS трехуровневая – интерфейс системных вызовов для UNIX; уровень виртуальной файловой системы; нижний уровень реализации NFS-сервисов.

Набор для практики

Вопросы

  1. Что такое виртуальная файловая система?
  2. Какими способами реализуются директории в файловых системах?
  3. Какие основные методы используются для размещения файлов?
  4. Каковы особенности, достоинства и недостатки смежного размещения файлов?
  5. Каковы особенности, достоинства и недостатки ссылочного размещения файлов?
  6. Каковы особенности, достоинства и недостатки индексируемого размещения файлов?
  7. Что такое расширения (extents) и как они используются для размещения файлов?
  8. Как организованы файловые системы по методу File Allocation Table (FAT)?
  9. Какие методы используются для представления информации о свободной дисковой памяти, в чем их сравнительные достоинства и недостатки?
  10. Что такое кэширование диска?
  11. Что такое унифицированная буферная кэш-память и для чего она используется?
  12. Что такое опережающее считывание?
  13. Что такое освобождение прочитанного?
  14. Какие методы используются для восстановления файлов?
  15. Что такое файловая система с журналом транзакций?
  16. Что такое NFS?
  17. На каких сетевых протоколах и механизмах основана реализация NFS?
  18. Каковы возможности системы NFS для пользователя?
  19. Каковы особенности монтирования удаленных файловых систем в NFS?
  20. Каковы уровни архитектуры NFS?

Упражнения

  1. Реализуйте директорию и операции над ней с использованием хеш-функции.
  2. Реализуйте смежное размещение файлов и основные операции над файлами при данном размещении.
  3. Реализуйте ссылочное размещение файлов и основные операции над файлами при данном размещении.
  4. Реализуйте индексируемое размещение файлов и основные операции над файлами при данном размещении.
  5. Реализуйте размещение файлов на основе расширений (extents) и основные операции над файлами при данном размещении.
  6. Реализуйте представление информации о свободной дисковой памяти в виде битового вектора и основные операции над ним.

Темы для курсовых работ, рефератов, эссе

  1. Обзор виртуальных файловых систем (реферат).
  2. Файловая система FAT (реферат).
  3. Файловые системы с индексируемым размещением файлов (реферат).
  4. Обзор системы NFS (реферат).
  5. Реализация директории и операций над ней с использованием хеш-функции (курсовая работа).
  6. Реализация смежного размещения файлов и основных операций над файлами при данном размещении (курсовая работа).
  7. Реализация ссылочного размещения файлов и основных операций над файлами при данном размещении (курсовая работа).
  8. Реализация индексируемого размещения файлов и основных операций над файлами при данном размещении (курсовая работа).
  9. Реализация размещения файлов на основе расширений (extents) и основных операций над файлами при данном размещении (курсовая работа).
  10. Реализация представления информации о свободной дисковой памяти в виде битового вектора и основных операций над ним (курсовая работа).
< Лекция 19 || Лекция 20: 12345 || Лекция 21 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков