Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы экзамена ПОКС 2013.docx
Скачиваний:
0
Добавлен:
27.01.2020
Размер:
1.43 Mб
Скачать

17. Интерфейс сетевой базовой системы ввода-вывода

Интерфейс сетевой базовой системы ввода/вывода (NetBIOS) предтавляет собой разработанный фирмой MicrosoftCorp. интерфейс программирования, позволяющий обмениваться запросами ввода-вывода с удаленым компьютером. Пользуясь функциями NetBIOS’а, программист создает приложения, независимые от конкретной сетевой аппаратуры.

NetBIOS является интерфейсом сеансового уровня, могущим быть использованным приложениями для связи с NetBIOS-совместимыми транспортными протоколами (например, протокол NetBEUI). Двусторонние соединения между ЭВМ с NetBIOS реализует между ними логическое соединение (сеанс). После установления логического соединения компьютеры могут.

Функции NetBIOS обычно не используются программистом напрямую вследствие низкого их уровня, хотя в принципе это возможно (существуют справочники по их применению, например фирменное руководство NetBIOSprogrammerreference фирмы IBMCorp.).

Расширенный пользовательский интерфейс транспортного протокола локальной сети (NetBEUI, NetBiosExtendedUserInterfacetransport) создан фирмой IBM для работы под сетевым интерфейсом NetBIOS фирмы MicrosoftCorp; протокол NetBEUI широко применялся в первых версиях Windows’NT.

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

Средство удаленного вызова процедур (RPC, RemoteProcedureCall) по-

зволяет создавать приложения, состоящие из произвольного числа процедур,

часть которых выполняется локально (на данном компьютере), а часть - по сети на удаленных компьютерах. Таким образом, RPC представляет модель.

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

Функционирует приложение RPC следующим образом. В процессе работы оно вызывает как локальные, так и отсутствующие (недоступные) на локальной машине процедуры. Для обработки последнего случая приложение связывается с локальной DLL, содержащей по одной процедуре-заглушке (stubprocedure) для каждой из удаленной процедур. Процедура-заглушка имеет то же имя и интерфейс, что и удаленная процедура, однако вместо выполнения соответствующей операции заглушка принимает передаваемые ей параметры и выполняет операцию их преобразования (marsaling) для передачи по сети.

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

Библиотека RPC периода выполнения использует для взаимодействия с

транспортным протоколом единый интерфейс доступа к транспорту RPC (RPC transportinterface). Этот интерфейс служит прослойкой между средством RPC и транспортным протоколом, которая отображает операции RPC в функции, предоставляемые транспортным протоколом.

Для обеспечения взаимодействия средства RPC с приложениями RPC на другой ЭВМ они должны использовать одинаковые соглашения RPC. Microsoft RPC соответствует стандарту RPC, установленному OpenSoftwareFoundation (OSF) в спецификации среды распределенных вычислений (DCE, DistributeCalculationEnvironment). Таким образом, написанные с использованием Microsoft RPC приложения могут вызывать удаленные процедуры на других системах, использующих стандарт DCE.

Существуют более совершенные механизмы реализации вызова удаленных процедур - асинхронные вызовы удаленных функций (ARPC,

AsynchronousRemoteProcedureCal), позволяющие на основе применения функций отклика (call-backfunction) избежать приостановки выполнения прикладной программы на локальной машине. Для связи с удаленными системами RPC может использовать сервис NetBIOS, WindowsSockets и другие доступные средства (например, именованные каналы для Windows’NT). Для вызова процедур, расположенных на том же компьютере, что и вызывающая программа, и обмена информацией с ними служит механизмы вызова локальных процедур (LPC, LocalProcedureCall) или упрощенного вызова удаленных процедур (LRPC, LightweightRemoteProcedureCall). Однако вышеуказанные средства доступны лишь в Windows’NT.