Помощь в написании студенческих работ
Антистрессовый сервис

Java-интерфейсы. 
Операционные системы

РефератПомощь в написанииУзнать стоимостьмоей работы

Поскольку вызывающая и вызываемая процедуры выполняются на разных машинах, то они исполняются в разных областях памяти, а это означает, что параметры RPC не должны содержать указателей на ячейки памяти, а значения параметров передаются копированием с одного компьютера на другой; Передача по сети потенциально опасного кода Java. Поэтому существуют определенные ограничения на возможности… Читать ещё >

Java-интерфейсы. Операционные системы (реферат, курсовая, диплом, контрольная)

Применение языка программирования Java для организации связи «клиент-сервер» сильно изменило технологии программирования по отношению к CGI. Это обусловлено гем фактом, что механизмы, формирующие страницы, которые отображается клиенту, переносятся со стороны сервера на сторону клиента. При этом решаются следующие задачи:

  • • динамическое формирование страниц на клиентской стороне приводит к существенному расширению возможностей представления информации и интерактивного взаимодействия «клиент-сервер»;
  • • аппаратно-программная независимость выполняемых приложений;
  • • упрощение архитектуры веб-сервера и облегчение его работы;
  • • возможность использования напрямую стека протоколов TCP/IP, что может повысить скорость и надежность передачи информации;

• возможность организации работы многооконных и многопоточных приложений на стороне клиента.

Однако имеются и отрицательные стороны:

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

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

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

Механизм RPC основан на следующих принципах:

  • • асимметричности, т. е. одна из взаимодействующих сторон является инициатором. Взаимодействие сторон осуществляется на основе архитектуры «клиент-сервер»;
  • • синхронности. Исполнение действий при взаимодействии сторон должно происходить синхронно, причем любая операция должна закончиться до начала следующей. Иными словами, выполнение вызывающей процедуры приостанавливается с момента выдачи запроса и возобновляется только после ответа из вызываемой процедуры.

Сложность реализации удаленных вызовов обусловлена следующими факторами:

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

Пользователь, вызывая RPC, не должен знать об этом. Для пользователя вызов как локальной, так и удаленной процедуры должен проходить одинаково. Когда в системе происходит вызов удаленной процедуры, то осуществляется подмена вызываемой библиотеки: вместо локальной версии библиотеки, вызывается удаленная версия. Аналогично происходят и прерывания, только вместо обращения к локальному ядру происходит обращение к удаленному ядру. Обычно RPC базируются на инфраструктуре распределенной вычислительной среды (Distributed Computing Environment, DCE)[1].

  • [1] Dijkstra Е. W. Cooperating Sequential Processes.
Показать весь текст
Заполнить форму текущей работой