Предлагаемый сервис
Система NFS создавалась со следующими намерениями: предоставить пользователю возможность работать с файлами, расположен- ными на чужих машинах так,как если бы они находились на его собственной - не копируя их. При этом отпадает необходимость в пересылке данных что, в частности, позволяет решить проблему управления различными версиями одного и того же продукта,рас- положенными на разных машинах.
NFS разрабатывалась фирмой Sun система,предназначенная для реализации следующих целей :
- независимость от операционных систем
- простота восстановления в случае сбоя сервера
- прозрачный доступ
- сохранение для клиентов UNIX семантики UNIX
- удовлетворительная производительность
Для администратора рабочих станций UNIX,NFS выглядит как расширение локальной команды "монтирования" (mount) на файловые системы, присутствующие в сети.
На рабочих станциях Sun NFS используется для управления станциями без жестких дисков. NFS не управляет одновременным доступом нескольких пользователей к одному и тому же файлу. Это дополнительная функция, реализуемая следящей программой (демоном) LOCKD.
В случае "двоичного" файла, несмотря на прозрачность доступа возникает проблема различного представления данных на разных машинах. NFS не конвертирует данные. Вам следует использовать "форматированные" данные или применить XDR (eXternal Data Representation) или аналогичное программное средство.
RFS обеспечивает прозрачный доступ к удаленным файловым системам и устройствам (кассетным устройствам, магнитофонам, мо- демам, принтерам),а также к специальным файлам UNIX (pipe).
RFS разрабатывалась фирмой AT&T со следующими целями :
- независимость по отношению к транспортной сети ;
- сохранение семантики UNIX при обращении к файлам ;
- прозрачный доступ к файлам и периферийным устройствам ;
- несколько уровней безопасности : пароль, выбор клиентов, таблицы соответствия, стандартные права доступа UNIX ;
- удовлетворительная производительность.
RFS управляет одновременным доступом к файлам со стороны нескольких пользователей. В сети используются примитивы управ- ления замками UNIX (lockf(),fcntl()).
Каждый пользователь RFS должен принадлежать некоторой области. Область - это административная единица, которая управляет именами ресурсов, а также обеспечивает безопасность доступа к этим ресурсам. Управление именами берет на себя машина области,именуемая первичным сервером имен, которую поддерживает, в случае необходимости вторичный сервер имен. Первичный сервер имен выполняет следующие функции :
- запоминает имена и адреса всех ресурсов области ;
- в случае необходимости хранит имена и адреса других областей ;
- обеспечивает безопасность доступа к ресурсам области.
Вторичный сервер имен (можно объявить один или несколько вторичных серверов - но это не обязательно) обеспечивает функцию замены первичного сервера в случае, если последний попал в аварию.
Идентифицируя ресурс его именем, RFS позволяет администраторам станций-клиентов обращаться к ресурсам даже в том случае, если они не знают, где именно данный ресурс находится. В частности, если ресурс физически недоступен, его можно заменить другим ресурсом с тем же именем - причем это обстоятельство будет скрыто от клиентов.
Возможность разделения именованного канала позволяет исполь- зовать этот механизм для коммуникации между отделенными процессами.
XDR позволяет описывать и представлять данные способом, независящим от конкретной машины, и таким образом позволяет обмениваться ими.
Какие существуют альтернативы общему формату XDR ?
- можно передавать данные только в формате ASCII. Этот метод громоздок, значительно увеличивает объем передаваемых данных и опасен тем, что при преобразовании данных можно потерять точность.
- преобразование от случая к случаю, по меренеобходимости. При этом необходимо иметь столько программ преобразования,сколько существует форматов представления данных. На рабочих станциях UNIX очень часто используется формат IEEE, который, таким образом, может служить основой для универсального представления.
XDR - это одновременно, язык описания данных и средство их представления. XDR - не зависит не только от аппаратных структур, но и от языков программирования. Таким образом, данные, сформированные программой, написанной на Фортране и выполненной на ЭВМ Cray, могут быть считаны и обработаны программой, написанной на Си и выполненной на рабочей станции Sun и наоборот.