
10.4.
Сравнение распределенных файловых систем 691
операций. В NFS версии 4 клиенты умеют значительно больше, так, им разреше-
но кэшировать файлы и выполнять многие операции локально. Другими слова-
ми,
в NFS версии 4 клиенты могут считаться скорее «толстыми», чем «тонкими».
Те же самые рассуждения годятся и для процесса Venus, представляющего
собой клиентскую часть систем AFS и Coda. Venus выполняет на стороне клиен-
та массу работы. Он, в частности, целиком берет на себя кэширование файлов,
эмуляцию функций сервера при отключении от системы и т. п.
В противоположность ему разработчики Plan 9 постарались сохранить клиен-
та настолько простым, насколько это возможно. В их проекте всю работу выпол-
няет сервер, а клиенты представляют из себя всего лишь простые терминалы.
Тем не менее клиентские процессы могут кэшировать файлы, хотя система про-
должает отлично работать и при отсутствии какого-либо кэширования.
Клиентские процессы в xFS также можно считать «толстыми», если принять во
внимание кэширование. С другой стороны, единственное, что делает клиент xFS,
—
это передает файловые операции серверам хранения. Однако клиенты xFS реа-
лизуют кооперативное кэширование, что повышает производительность их работы.
Подход, принятый в SFS, представляет собой нечто среднее между простым
клиентом Plan 9 и усложненным вариантом клиента Coda. Клиент SFS
—
это
относительно простой компонент, который не использует специфических осо-
бенностей своего локального состояния. Он просто предоставляет доступ к уда-
ленным серверам SFS. При необходимострг его можно дополнить специальным
агентом для аутентификации пользователя или сервера.
Серверы разных систем очень отличаются друг от друга. Только Coda и xFS
позволяют объединять серверы в группы. Каждая группа может содержать реп-
лицированные файлы или, в случае xFS, отвечать за нарезку файлов. В NFS,
Plan 9 и SFS, в сущности, предполагается, что файл расположен на одном нереп-
лицируемом сервере.
10.4.4. Именование
За исключением SFS, рассмотренные примеры файловых систем поддерживают
более или менее одинаковые пространства имен, создаваемые при монтировании,
как это делается и в системах UNIX. Монтирование производится дроблением
каталогов, как в NFS (а также и в SFS), или при помош.и файловой системы, как
в Coda, Plan 9 и xFS (которая унаследовала этот способ от LFS и Zebra).
Более интересен подход к организации пространства имен. Существует два
основных метода. Согласно первому из них, каждый пользователь имеет собст-
венное пространство имен. Так построены системы NFS и Plan 9. Недостаток
пространств имен, принадлежащих пользователям, состоит в том, что в них не-
легко организовать совместное использование файлов, поскольку с их именами
возникают сложности. Чтобы снизить остроту некоторых из этих проблем, часть
пространства имен может быть стандартизована.
Второй подход состоит в том, чтобы создать глобальное общее пространство
имен, как это сделано в Coda, xFS и SFS. Во всех этих системах каждый поль-
зователь имеет право расширить глобальное пространство имен за счет своего