Клиентские операции в системе NFS
Напомним, что система NFS проектировалась с учетом возможности ее применения в разнотипных компьютерных системах. При установке клиентского кода NFS в операционной системе должно быть обеспечено объединение схемы именования, предоставляемой системой NFS, со схемой именования файлов, применяемой в операционной системе компьютера. Однако синтаксис составных имен, применяемый в удаленной файловой системе, может отличаться от синтаксиса составных имен на клиентском компьютере. Например, при использовании клиентского программного обеспечения NFS на компьютере с операционной системой Windows для подключения к серверу NFS, работающему на компьютере с операционной системой UNIX, в клиентской системе в качестве разделителя служит обратная косая черта (\), а в файловой системе сервера — косая черта (/). Наполнители чак-чака. Торт чакчак, купить для перепродажи. Сладкая выпечка.
Для учета потенциальных различий в синтаксисе составных имен файлов в клиентском и серверном компьютерах в системе NFS применяется простое правило: полные составные имена интерпретируются только в клиентской части. Для прослеживания компонентов полного составного имени в иерархической системе каталогов сервера клиент последовательно передает на сервер отдельные компоненты составного имени. Например, если в клиентской программе в качестве разделителя для поиска составного имени /a/b/с на сервере используется косая черта, то клиент вначале должен получить информацию о корневом каталоге сервера. Затем клиент передает серверу запрос на выполнение поиска имени а в этом каталоге. Сервер возвращает информацию о каталоге а. Предположим, что в ответе будет указано, что а представляет собой каталог. Затем клиент отправляет на сервер запрос выполнить поиск имени b в каталоге а. После получения ответа от сервера клиент проверяет, является ли b каталогом, и в случае получения положительного ответа передает серверу запрос на выполнение поиска имени с в каталоге Ь. И наконец, сервер отвечает, передавая информацию о файле с.
Основной недостаток такой организации работы, при которой задача интерпретации составных имен возложена на клиентскую часть, должен быть очевиден: для этого требуется обмен данными по сети при определении каждого компонента составного имени. Основное преимущество также известно: приложения любого компьютера могут обращаться к файлам на удаленном компьютере с использованием того же синтаксиса составного имени, который служит для обозначения локальных файлов. Еще более важно то, что приложения и клиентские программы могут разрабатываться для доступа к удаленным файлам без учета того, где находятся эти файлы и какие соглашения об именовании используются в файловых системах серверов. Поэтому ни одно из клиентских приложений не требует замены при установке новых версий программного обеспечения на серверном компьютере, даже если эти обновления будут связаны с переходом на другую операционную систему или иную схему именования файлов по сравнению с первоначальной.
Для того чтобы работа приложений на клиентских компьютерах не зависела от местонахождения файлов и от типа операционной системы серверного компьютера, система NFS требует, чтобы полные составные имена интерпретировались только в клиентских программах. Клиент прослеживает составное имя файла по иерархии каталогов сервера, передавая на сервер каждый раз по одному компоненту и получая информацию об указанном в этом компоненте файле или каталоге.