Распределенные файловые системы
Основная идея распределенной
файловой системы состоит в том,
чтобы обеспечить совместный доступ
к файлам локальной файловой
системы для процессов, которые,
вообще говоря, выполняются на
других компьютерах. Эта идея может
быть реализована многими разными
способами, однако в среде ОС UNIX все
известные подходы основываются на
монтировании удаленной файловой
системы к одному из каталогов
локальной файловой системы. После
выполнения этой процедуры файлы,
хранимые в удаленной файловой
системе, доступны процессам
локального компьютера точно таким
же образом, как если бы они
хранились на локальном дисковом
устройстве.
На рисунке 2.5 приведен пример, в
котором два подкаталога удаленной
файловой системы-сервера (share и X11)
монтируются к двум (пустым)
каталогам файловой
системы-клиента.
Рис. 2.5. Схема
монтирования удаленной файловой
системы
В принципе, такая схема обладает и
достоинствами, и недостатками. К
достоинствам, конечно, относится
то, что при работе в сети можно
экономить дисковое пространство,
поддерживая совместно
используемые информационные
ресурсы только в одном экземпляре.
Но, с другой стороны, пользователи
удаленной файловой системы
неизбежно будут работать с
удаленными файлами существенно
более медленно, чем с локальными.
Кроме того, реальная возможность
доступа к удаленному файлу
критически зависит от
работоспособности сервера и сети.
Заметим, что распространенные в
мире UNIX сетевые файловые системы NFS
(Network File System - сетевая файловая
система) и RFS (Remote File Sharing -
совместное использование
удаленных файлов) являются
достаточно тщательно
спроектированными и
разработанными продуктами, во
многом сглаживающими отмеченные
недостатки.
Система NFS была разработана
компанией Sun Microsystems как часть ее
сетевого продукта ONC (Open Network Computing -
открытая сетевая вычислительная
обработка). В настоящее время NFS
является официальным компонентом
UNIX System V Release 4.
NFS разрабатывалась как система,
пригодная к использованию не
только на разных аппаратных, но и на
разных операционных платформах. В
настоящее время продукт NFS в
соответствии со спецификациями и
на основе программного кода Sun
Microsystems выпускает более 200
производителей. Отметим, в
частности, наличие популярного в
России продукта PC-NFS,
обеспечивающего клиентскую часть
системы в среде MS-DOS. Кроме того,
заметим, что имеются и свободно
доступные (public domain), и коммерческие
варианты NFS.
Первоначально NFS разрабатывалась
в среде UNIX BSD 4.2, и для реализации
системы потребовалось существенно
переделать код системных вызовов
файловой системы. При внедрении NFS в
среду System V понадобилась
значительная переделка ядра ОС.
Отмечается, что большая часть
изменений в ядре System V Release 4 была
связана именно с NFS.
В архитектурном отношении в NFS
выделяются три основные части:
протокол, серверная часть и
клиентская часть. Протокол NFS
опирается на примитивы RPC, которые,
в свою очередь, построены над
протоколом XDR (см. п. 2.7.4). Клиентская
часть NFS взаимодействует с
серверной частью системы на основе
механизма RPC.
Основным достоинством NFS является
возможность использования в среде
разных операционных систем.
Возможным недостатком является то,
что независимость от транспортных
средств ограничена уровнем такой
независимости, присущей RPC. В
настоящее время де-факто это
означает, что NFS можно использовать
только в TCP/IP-ориентированных сетях.
(Это еще вопрос - плохо ли это,
поскольку стимулирует
использование единообразных
сетевых механизмов.)
Сетевая файловая система RFS была
реализована компанией AT&T в
рамках ее продукта UNIX System V Release 3.
Функционально она выглядит подобно
NFS, т.е. обеспечивает прозрачный
доступ к удаленным файлам. Однако
реализация системы абсолютно
отлична. Основным недостатком RFS
является то, что система реализуема
только на компьютерах, работающих
под управлением ОС UNIX (причем
именно UNIX System V с номером выпуска не
меньше, чем 3). Но с другой стороны,
это решение позволило сохранить
для пользователей RFS всю семантику
файлов ОС UNIX. В частности (в отличие
от NFS), в удаленной файловой системе
могут находиться не только обычные
файлы и каталоги, но и специальные
файлы и именованные программные
каналы. Более того, на удаленные
файлы распространяются
возможности блокировки файлов
и/или диапазонов адресов внутри
файлов.
Если NFS опирается на протокол RPC,
то в RFS используется родной для AT&T
протокол обмена сообщениями на
основе потоков (другими словами,
реализация RFS основана на
использовании интерфейса TLI).
(Кстати, в этом имеется большой
смысл, поскольку механизм RPC во
многих случаях является слишком
ограничительным.)
Другим преимуществом RPC (тоже
связанным с использованием TLI)
является независимость системы от
используемого транспортного
механизма (если, конечно, этот
механизм поддерживает
спецификации семиуровневой модели
ISO/OSI). Поэтому эту систему можно
использовать в среде операционных
систем, основывающихся на
различных сетевых протоколах (ISO/OSI
уважают практически все).
В этой вводной части курса мы
(возможно, слишком поверхностно)
рассмотрели наиболее важные
особенности ОС UNIX. В следующих
частях будут детально обсуждаться
более технические и/или частные
вопросы.
Предыдущая
глава | Оглавление
| Следующая глава
|