Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОС_1.docx
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
1.15 Mб
Скачать

Интерфейсы файлового сервиса и сервиса каталогов. Семантика разделения файлов Файловый сервис

ФС может быть двух типов.

  1. Модель загрузки-выгрузки. Подразумевает чтение и запись файла целиком. Операции: создать – прочитать – записать - удалить Достоинства – простота, эффективная работа с малыми файлами.

  2. Модель удаленного доступа. Все операции над файлом проводятся на сервере. Поддерживается открытие – закрытие файлов, чтение и запись частей файлов, позиционирование, работа с атрибутами. Достоинства – низкие требования к диску клиентов, эффективная работа с большими файлами.

Сервис каталогов

//Не зависит от используемой модели файлового сервиса.

Основная задача – обеспечение прозрачности расположения и независимости от расположения.

Прозрачность расположения означает, что при перемещении сервера по сети полные имена файлов не изменяются.

Независимость от расположения означает, что файлы могут перемещаться по сети без изменения имен.

В распределенных системах одному символьному имени ставится в соответствие несколько двоичных, а сервис каталогов обеспечивает отображение между ними.

Семантика разделения файлов

  1. Семантика Unix – каждая операция над файлом немедленно становится видимой всем процессам. Операции чтения и записи должны быть абсолютно упорядочены во времени. Реализуется в системах с одним файловым сервером без кэширования файлов на стороне клиента.

  2. Сессионная семантика – Изменения в открытом файле видны только производящему их процессу. После закрытия файлов – всем остальным. При совместном использовании файла двумя и более клиентами окончательным будет тот вариант, который был закрыт последним.

  3. Неизменяемые файлы – все файлы в системе считаются неизменяемыми и их можно только создать, читать и удалить.

  4. Использование транзакций

Вопросы разработки структуры распределенной файловой системы. Stateless и Statefull серверы.

  1. Распределение клиентской и серверной частей ФС

    1. Нет разницы между клиентом и сервером, используется одно и то же базовое программное обеспечение

    2. Файловый сервер является пользовательской программой и система может быть сконфигурирована как клиент, сервер или и то и другое.

    3. Клиенты и серверы – принципиально разные машины как в терминах аппаратного, так и программного обеспечения.

  2. Структуризация сервисов файлов и каталогов

    1. Комбинирование обоих сервисов на одном сервере

    2. Разнесение серверов на разные сервера – требуется обращение к сервису каталогов для отображения символьного имени в двоичное а затем к файловому серверу с двоичным именем для действительной операции над файлом.

  3. Хранение на серверах информации о состоянии клиента

    1. С ервер хранит информацию о клиентских запросах между самими запросами – Statefull server

При первом вызове на открытие файла клиенту возвращается его идентификатор, используемый при дальнейших вызовах.

Сервер ведет информацию о состоянии клиента – таблицу отображения дескрипторов файлов на сами файлы.

Достоинства:

  • Короткие сообщения при запросах

  • Высокая производительность

  • Возможно опережающее чтение

  • Легче достичь идемпотентности

  • Возможна блокировка файлов

    1. Stateless Server

М ежду запросами на сервере не сохраняется текущая информация о клиентах, каждый запрос должен содержать все данный о выполнении операции. Поддерживаются только вызовы Read и Write. Других вызовов нет.

Достоинства: Отказоустойчивы Меньшее количество вызовов Меньшие требования к аппаратному обеспечению сервера Нет ограничений на число открытых файлов

Рассмотрим прежде всего вопрос о распределении серверной и клиентской частей между машинами. В некоторых системах (например, NFS) нет разницы между клиентом и сервером, на всех машинах работает одно и то же базовое программное обеспечение, так что любая машина, которая хочет предложить файловый сервис, свободно может это сделать. Для этого ей достаточно экспортировать имена выбранных каталогов, чтобы другие машины могли иметь к ним доступ.

В других системах файловый сервер - это только пользовательская программа, так что система может быть сконфигурирована как клиент, как сервер или как клиент и сервер одновременно. Третьим, крайним случаем, является система, в которой клиенты и серверы - это принципиально различные машины, как в терминах аппаратуры, так и в терминах программного обеспечения. Серверы могут даже работать под управлением другой операционной системы.

Вторым важным вопросом реализации файловой системы является структуризация сервиса файлов и каталогов. Один подход заключается в комбинировании этих двух сервисов на одном сервере. При другом подходе эти сервисы разделяются. В последнем случае при открытии файла требуется обращение к серверу каталогов, который отображает символьное имя в двоичное, а затем обращение к файловому серверу с двоичным именем для действительного чтения или записи файла.