Система сетевой блокировки в NFS работает следующим образом: www.regatta.cs.msu.su
- Когда приложению необходимо заблокировать локальный файл, оно направляет свой запрос ядру с помощью функций lockf, fcntl и flock. www.regatta.cs.msu.su Затем ядро обрабатывает запрос на блокировку. www.regatta.cs.msu.su
- Если приложение на клиенте NFS запрашивает блокировку для удалённого файла, диспетчер сетевой блокировки генерирует вызов удаленной процедуры (RPC). www.regatta.cs.msu.su
- Когда клиент получает начальный запрос на удалённую блокировку, он с помощью демона rpc.statd регистрирует этот запрос на сервере. www.regatta.cs.msu.su То же самое верно и для диспетчера сетевой блокировки на сервере: при получении начального запроса от клиента, сервер зарегистрирует его на клиенте с помощью монитора состояния локальной сети. www.regatta.cs.msu.su
- Программа lockd устанавливает и снимает блокировку файлов по запросу, а демон statd следит за состоянием блокировок и работоспособностью NFS-сервера. intuit.ru
В сети демон statd сервера NFS обменивается информацией с демонами statd на других компьютерах. intuit.ru Демон lockd посылает запросы демону statd для установления статуса компьютеров, взаимодействующих с ним. intuit.ru
В случае выхода сервера из строя клиенты с заблокированными файлами должны иметь возможность восстановить блокировку. www.regatta.cs.msu.su В случае выхода из строя клиента сервер должен сохранять блокировку файлов до восстановления клиента. www.regatta.cs.msu.su