Структура уровней файловой системы 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.