Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_RSOI.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
400.38 Кб
Скачать

2.2.Общие сведения о промежуточном слое

Модель ISO OSI:

  • Прикладной уровень

  • Представительный

  • Системный

  • Транспортный

  • Сетевой

  • Канальный

  • Физический

Уровень сессии устанавливает и поддерживает соединение между компонентами распределенной системы.

Представительный уровень устраняет различия в представлении данных.

Прикладной уровень – распределение объектов. Объектный тип определяется в соответствии с объектно-ориентированным промежуточным слоем.

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

2.3.Типы промежуточного слоя

Приложение сложной структуры:

  • Сложная структура – потоки объектов

  • Объект-клиент и объект-сервер

  • Безопасность

  • Работа с ссылками на объект

  • Разные арг типов на разных машинах

  • Синхронизация

Сетевой объект – поток байтов.

  1. ориентир на логику сообщений

  2. объектно-ориентированные

Клиентский компонент посылает сообщение заявки на обслуживание, содержащей параметры запрашиваемые окружением. Взаимодействие клиент-сервер асинхронно. Отказоустойчивость можно обеспечить путем организации определенных ???

2.4.Удаленный вызов процедур

Есть машины: A и B. A вызывает процедуру, которая выполняется на B.

count = read(fd, buf, bytes);

Таблица 2.3. Стек при вызове процедуры

bytes

buf

fd

адрес возварата

локальные переменные процедуры

Передавать параметры по значению просто, а вот по ссылке – проблема. Вызов через клонирование восстановлением.

Удаленный вызов выглядит как локальный, то есть RPC обеспечивает прозрачность для клиента. Сервер тоже не подозревает, что он выполняет удаленный вызов. И вообще, никто ничего не подозревает.

Упаковка параметров в заглушке.

Рис. 2.5.

Последовательность передачи управления при RPC.

Рис. 2.6.

На сервере есть аналогичная заглушка, ??? параметры; сервер выполняет запрос, возвращает результат. Проблема: передача по адресу: можно предавать копию буфера.

Лекция 2.11.04

2.5.Передача параметров

  1. Формируется пакет, содержащий имя процедуры и ее параметры.

  2. Сообщение принимается заглушкой-сервером

  3. Заглушка на сервере формирует вызов процедуры (как локальной)

Передача параметров по значению.

Рис. 2.7.

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

2.6.Передача параметров по ссылке.

  1. Чтение удаленного файла.

Передать копию ссылки не представляется возможным, так как ссылка – это указатель в адресном пространстве, бессмысленно передавать ее копию. Вариант решения: можно поступить сл. образом: взять это массив, на кот. показывает указатель и тоже передать копию этого массива(сообщение). Давайте это все поместим в сообщение, кот. Будет передаваться на сервер. На сервере выделяется место под массив => ссылку на массив и эту ссылку в адресном пространстве заглушка передает серверному процессу и он по всем правилам обращается к ОС и помещает результат в массив в адр.простра-ве заглушки. Заглушка упаковывает массив сообщением и передает его на клиентскую заглушку с помощью ОС. Клиентская заглушка распаковывает это сообщение вытаскивает это сообщение и помещает это значение в тот массив, которые находится в адресном пространстве клиентского процесса. Клиентский процесс получает результат, как-будто он обратился локально. А эта удаленность прозрачна для обоих обеспечивает RPC.

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

Чтобы облегчить работу по созданию заглушек, используется язык определения интерфейсов.IDL – Interface Definition Langueage.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]