- •Лекции 10-11. Системы управления данными (файловые системы)
- •10.1 Файлы
- •10.1.1 Именование файлов
- •10.1.2 Структура файла
- •Три типа структур файла.
- •10.1.3 Типы файлов
- •Примеры исполняемого и не исполняемого файла
- •10.1.4 Доступ к файлам
- •10.1.5 Атрибуты файла
- •10.1.6 Операции с файлами
- •10.1.7 Файлы, отображаемые на адресное пространство памяти
- •10.2.5 Операции с каталогами
- •10.4.4 I - узлы
- •Примеры I-узла
- •10.5 Реализация каталогов
- •Варианты реализации каталогов
- •10.5.1 Реализация длинных имен файлов
- •Реализация длинных имен файлов
- •10.5.2 Ускорение поиска файлов
- •1 Использование хэш-таблицы для ускорения поиска файла.
- •2 Использование кэширования результатов поиска файлов для ускорения поиска файла.
- •10.6 Совместно используемые файлы
- •А - совместно используемый файл.
- •10.6.1 Жесткие ссылки
- •Основные два способа учета свободных блоков
- •10.7.3 Дисковые квоты
- •10.8 Надежность файловой системы
- •10.8.1 Резервное копирование
- •10.8.2 Непротиворечивость файловой системы
- •10.11 Производительность файловой системы
- •Каталоговая запись стандарта iso 9660.
- •11.1.2 Рок-ридж расширения для unix
- •11.1.3 Joliet расширения для Windows
- •11.2 Файловая система ms-dos (fat-12,16,32)
- •Каталоговая запись ms-dos, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98
- •11.2.1 Fat-12
- •11.2.2 Fat-16
- •11.2.3 Fat-32
- •11.2.4 Расширение Windows 98 для fat-32
- •Формат каталогов записи с фрагментом длинного имени файла в Windows 98
- •11.3 Файловая система ntfs
- •Главная файловая таблица mft, каждая запись ссылается на файл или каталог.
- •Три записи mft для сильно фрагментированного файла. В первой записи указывается индексы на дополнительные записи.
- •Шифрование файлов в ntfs
- •11.4 Файловая система unix v7
- •Расположение файловой системы unix
- •Каталоговая запись unix v7 в 16 байт Структура I-узела
- •I-узел unix v7
- •Связь между таблицей дескрипторов файлов, таблицей открытых файлов и таблицей I-узлов.
- •11.5 Файловая система bsd
- •Каталог bsd с тремя каталоговыми записями для трех файлов и тот же каталог после удаления файла zip, увеличивается длина первой записи.
- •11.6 Файловые системы linux
- •11.6.1 Файловая система ext2
- •Размещение файловой системы ext2 на диске
- •11.6.2 Файловая система ext3
- •11.6.3 Файловая система xfs
- •11.6.4 Файловая система rfs
- •11.6.4 Файловая система jfs
- •11.7 Сравнительная таблица некоторых современных файловых систем
- •11.8 Файловая система nfs
11.8 Файловая система nfs
NFS (Network File System) - сетевая файловая система. Создана для объединения файловых систем по сети.
11.8.1 Архитектура файловой системы NFS
Предоставляется доступ к каталогу (экспортируется) с подкаталогами. Информация об экспортируемых каталогах хранится в /etc/exports. При подключении эти каталоги монтируются к локальной файловой системе.

Примеры монтирования удаленных файловых систем
11.8.2 Протоколы файловой системы NFS
Протокол - набор запросов и ответов, клиента и сервера.
Используется два протокола:
Протокол управления монтирования каталогов
Протокол управления доступа к каталогам и файлам
11.8.3 Реализация файловой системы NFS

Структура уровней файловой системы NFS
VFS (Virtual File System) - виртуальная файловая система. Необходима для управления таблицей открытых файлов.
Записи для каждого открытого файла называются v-узлами (virtual i-node).
VFS используется не только для NFS, но и для работы инородными файловыми системами (FAT, /proc и т.д.)
Алгоритм работы NFS (рассмотрим последовательность системных вызовов mount, open и read):
Вызывается программа mount, ей указывается удаленный каталог и локальный каталог для монтирования.
Программа ищет сервер, соединяется с ним.
Запрашивает дескриптор каталога.
Программа mount обращается к системному вызову mount для монтирования полученного каталога.
Ядро формирует v-узел для открытого удаленного каталога.
Ядро формирует r-узел (удаленный i-узел) для удаленного каталога в своих внутренних таблицах. В результате v-узел указывает либо на r-узел для удаленного каталога, либо на i-узел одной из локальных файловых систем.
Система просит программу клиента NFS открыть файл.
Создаются v-узел и r-узел для удаленного файла.
Вызывающему процессу выдается дескриптор удаленного файла.
Теперь этот процесс может работать с файлом, используя вызов read.
Контрольные вопросы
Поясните различие между виртуальным и физическим файлом.
Охарактеризуйте основные компоненты иерархической модели файловой системы. Какие преимущества дает иерархическая модель?
В чем различие между байт-ориентированными и записеориентированными файлами? Назовите достоинства и недостатки той и другой модели.
В чем отличие логической структуры каталогов в MD DOS - Windows - OS/2 от структуры каталогов в Unix?
В чем достоинства и недостатки отделения дескриптора файла от элемента каталога?
Какую информацию о файле должен содержать его дескриптор, хранимый в файловой системе? Какую информацию должен содержать дескриптор открытого файла?
В чем сходство и различие каталогов и файлов (на логическом и на физическом уровнях)?
В чем сходство и различие алиасов и косвенных файлов?
Обязательно ли закрытие файла при завершении открывшего его процесса? Обязательна ли запись данных файла на диск при закрытии файла?
В чем отличие смежного размещения файлов в современных файловых системах от смежного размещения файлов в старых файловых системах?
Какими методами может быть обеспечено преимущественно смежное размещение файла на внешней памяти?
В чем отличие целостности файловой системы от целостности данных? Какую целостность и какими методами обеспечивают современные файловые системы?
Какие два типа ресурсов, связанных с диском, требуется выделить процессу, чтобы он выполнил запись данных на диск?
Каким из двух типов драйверов — блок-ориентированным или байт-ориентированным — обслуживается диск?
С какой целью в некоторых файловых системах характеристики файла отделяются от его имени?
Какие программные компоненты поддерживают структуру файла в тех ОС, где файл представлен последовательностью байт?
С какого каталога начинается «раскрутка» полного имени файла?
Операционная система выделяет файлам пространство на диске:
А) секторами;
В) дорожками;
С) кластерами;
D) цилиндрами.
Выберите размер кластера для файловой системы FAT16, устанавливаемой в разделе, который разделен на секторы размером 512 байт и имеет общий объем 272 Мбайт. Оцените, сколько в этом случае кластеров будет содержать область данных, а также какой размер необходимо отвести таблице FAT. Учтите, что размер кластера должен быть равен степени двойки. Примите во внимание также, что стандартным размером корневого каталога для жестких дисков является размер в 32 сектора.
При каких условиях можно автоматически гарантированно восстановить в файловой системе FAT удаленный файл?
Сформулируйте основную цель введения в ОС системного вызова open.
В какой из типов систем управления доступом — избирательной или мандатной — пользователю предоставляется большая свобода действий?
Какой смысл имеет операция «выполнить каталог» в ОС UNIX
