Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 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 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19