Резюме

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

Материал для дальнейшего изучения

С дополнительной информацией об инструментальном средстве rpcgen можно ознакомиться в документации, которая поставляется вместе с этим программным обеспечением. В книге приведены подробные сведения по обработке исключительных ситуаций в программном обеспечении RPC.

  1. Опишите последовательность действий, выполняемых сервером при поступлении сообщения CALL по спецификации RPC. Не забудьте указать, на каком этапе значения данных преобразуются из внешнего представления во внутреннее.
  2. Прочитайте, что сказано о библиотечных процедурах RPC в документации, которая поставляется вместе с операционной системой. Каковы параметры функции svc_sendreply? Для чего предназначен каждый из них?
  3. Библиотека RPC включает процедуры, позволяющие выполнить регистрацию сервера в службе привязки портов. Прочитайте документацию, чтобы узнать, для чего предназначена процедура pmapjinset. Почему она так необходима?
  4. Если у вас есть доступ к исходному коду библиотечных процедур RPC, узнайте, из какого числа строк состоит этот код. Сравните объем исходного кода библиотеки с объемом исходного кода программы rpcgen. Почему программа rpcgen имеет такой большой объем?
  5. Программа rpcgen вырабатывает исходный код на языке С, а не объектный код. В документации, которая поставляется вместе с программой rpcgen, сказано, что выработка исходного кода предусмотрена для того, чтобы в него можно было внести изменения. С чем может быть связана необходимость внесения изменений?
  6. (Дополнение к предыдущему вопросу.) В чем состоят преимущества и недостатки внесения изменений в выходные файлы программы rpcgen?
  7. Один из вариантов механизма вызова удаленных процедур может предусматривать объединение всех процедур удаленной программы в одну процедуру и применение дополнительного параметра для определения того, какая процедура должна быть вызвана (например, в основе удаленной процедуры лежит использование оператора switch языка С, в котором применяется параметр new для выбора одного из нескольких альтернативных действий). Назовите основные преимущества использования такого подхода по сравнению с технологией ONC RPC. Каковы основные недостатки?
  8. Если в серверной части программы ONC RPC используются сокеты, то какие методы могут применяться для реализации взаимного исключения (т.е. как можно гарантировать, чтобы в любой момент времени вызывалась только одна удаленная процедура)? Назовите преимущества и недостатки каждого из этих методов? Подсказка: рассмотрите опции сокета и вариант с созданием файла.
Похожие статьи