Реализация файловой системы 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.
Дата добавления: 2014-12-21; просмотров: 620;