- •Ограничения.
- •Механизм передачи сообщений.
- •Синхронизация.
- •Вызов удалённых процедур.
- •Назначения стабов.
- •Генерация стабов.
- •Формат сообщений в rpc.
- •Модель сетевой файловой системы (сфс).
- •Интерфейс сфс.
- •Модифицируемость файлов.
- •Единицы доступа.
- •Распределение клиентов и серверов по ос.
- •Кэширование.
- •Репликация.
- •Управление репликацией.
- •Согласованность реплик.
- •Примеры сетевых файловых служб ftp, nfs.
- •Организация базы справочных данных.
- •Служба nds и файловая система.
Механизм передачи сообщений.
Основное отличие ОС от РОС – способ взаимодействия между процессами:
С помощью совместного использования одних и тех же данных (разделяемая память).
Путём передачи друг другу данных в виде сообщений.
В централизованных системах связь между процессами в основном предполагает наличие разделяемой памяти, то есть 1 процесс пишет в разделяемый буфер, а другой читает из него. Наиболее простая схема синхрозации – это симафон, требует, чтобы хотя бы одно слово было разделяемым. Процессы в пользовательском режиме запрашивают у ОС выполнение некоторой операции с помощью системного вызова, помещая в доступную ему часть оперативной памяти параметры этого системного вызова. После этого модуль ядра ОС считывает эти параметры из пользовательской памяти. Ядро имеет доступ как к системным, так и к пользовательской части. И выполняет системный вызов. Их взаимодействие происходит за счёт непосредственно доступной обоим участникам области памяти.
В распределённых системах не существует памяти непосредственно доступной процессам, поэтому взаимодействие процессов осуществляется только путём передачи сообщений через сеть. В сообщениях переносятся запросы от клиентов некоторой службы к соответствующим серверам. Сервер возвращает ответ. Сообщение – это блок информации, отформатированный процессом отправителем таким образом, чтобы он был понятен процессу получателю. Сообщение состоит из заголовка фиксированной длины и набор данных определённой длины. В заголовке содержится следующий элемент:
Адрес – набор символов, уникально определяющий отправляющий и получающий процессы. Адрес каждого процесса может иметь свою структуру, чтобы найти нужный процесс в сети, который состоит из большого количества узлов.
Последовательный номер – идентификатор сообщений, используется для идентификации потерянных сообщений и дубликатов в случае отказа системы.
Структурированная информация состоит из:
Поле типа данных. Если сообщение всегда переносит сообщения одного и того же типа, то данное поле опускается.
Поле длины данных (обычно в байтах). Если сообщение всегда переносит сообщения фиксированного формата, то данное поле опускается.
Поле значения данных.
ОСИ.
В любой сетевой ОС существует модель передачи сообщений, которая обеспечивает набор средств для организации общений по сети. Назначение системы – экранировать сложные сетевые протоколы от программиста. Подсистема позволяет процессам взаимодействовать посредством простых примитивов. В самом простом случае средства обеспечения связи сводятся к 2 коммуникационным примитивам сенд и ресив. На их базе строятся другие средства коммуникации, например распределённая файловая система, служба вызова удалённых процедур и т.д., которые в свою очередь являются основой для других сетевых служб. Транспортная система сетевой ОС отражает систему семиуровневой модели Открытых Систем. Представление сложных задач сетевого взаимодействия через иерархию нескольких частых задач организуют взаимодействие таким образом. Каждый уровень экранирует особенности нижележащих от вышележащих (инкапсуляция), следовательно, в процесс выполнения этих двух примитивов вовлекаются средства всех нижележащих коммуникационных протоколов. Данные примитивы независимо от их реализации определяют эффективность работы сети в зависимости от порядка выбора, например, способ задания адреса получателя.
Для правильности выбора необходимо решить следующие вопросы:
Один получатель или несколько?
Должна ли гарантироваться доставка сообщений? Если да, то протокол TCP. Если нет, то можно UDP (повторная передача может потребоваться).
Дожидается ли отправитель ответа на сообщения прежде чем дождаться ответа? (синхронный или асинхронный).
Как отправитель, получатель и подсистема передачи реагируют на отказ узла или коммуникационного канала? (реакция на коммуникационный канал)
Необходимо ли отбрасывать сообщения или сохранять в буфер, если приёмник не готов его принимать?
Если буфер заполнен, что делать с сообщением?
Возможно ли приёмнику изменять порядок обработки сообщений исходя из их приоритета?
Данное разрешение (или их порядок) определяют правила организации обмена – протоколы.
