Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ
Посмотреть оригинал

Объектные распределённые системы

Вызов удаленных процедур

Суть вызова удалённых процедур (Remote Procedure Call- RPC) заключается в применении механизма вызова процедур (подпрограмм, функций) для построения распределённых систем. Данный механизм является реализацией принципа модульного программирования и изначально широко использовался только для вызова локальных процедур, т.е. процедур, выполняемых на том же компьютере, что и вызывающая программа. Однако, при вызове удалённых процедур возникает целый ряд сложностей, связанных с передачей данных между компьютерами, необходимостью прозрачного использования сетей, возможной неоднородностью, связанной с языками программирования и ОС.

Для решения указанных проблем и была предложена технология RPC.

Основы технологии RPC

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

  • • вызывающая программа сохраняет состояние процессора (содержимое основных регистров, в том числе содержимое счётчика команд) в стеке;
  • • вызывающая программа передаёт параметры для вызываемой процедуры;
  • • осуществляется выполнение вызываемой процедуры путём перехода на её адрес в памяти и запуска;
  • • вызываемая процедура осуществляет возврат управления на вызывающую процедуру (путём извлечения из стека ранее сохранённого содержимого счетчика команд) и возвращает результат;
  • • вызывающая процедура восстанавливает исходное состояние процессора путём выборки параметров из стека.

Технология RPC обеспечивает возможность вызова удалённой процедуры по возможности точно так же, как и процедуры локальной. При этом если вызываемая процедура является удалённой, то вместо локальной процедуры в библиотеку помещается специальная версия процедуры, называемая стабом клиента (англ, stub - заглушка). Стаб запускается аналогично локальной процедуре, но его выполнение сводится только к формированию сообщения для отправки ядру удалённого компьютера.

 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы