14.4.1 Архітектура файлової сістемиNFS
Надається доступ до каталогу (експортується) з підкаталогами. Інформація про експортованих каталогах зберігається в / etc / exports. При підключенні ці каталоги монтуються до локальної файлової системи.
Приклади монтування віддалених файлових систем
14.4.2 Протоколи файлової сістемиNFS
Протокол - набір запитів і відповідей, клієнта і сервера.
Використовується два протоколи:
Протокол управління монтування каталогів
Протокол управління доступу до каталогів і файлів
14.4.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.