Технология программирования для распределенных параллельных систем. Демьянович Ю.К - 71 стр.

UptoLike

Глава 6. УДАЛЕННЫЙ ВЫЗОВ ПРОЦЕДУР И
ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ
§ 1. Удаленный вызов процедур
Удаленный вызов процедур будем обозначать RPC (Remote
Procedure Call).
Ранее рассматривались мониторы, которые инкапсулируют раз-
деляемые переменные, а также процессы, которые синхронизиру-
ются при вызове процедур монитора.
При удаленном вызове процедуры используется модуль, в ко-
тором имеются и процессы и процедуры, при этом модули могут
находиться не в одном, а в разных адресных пространствах (см.
рис. 7).
Рис. 7. Использование модулей при удаленном вызове процедуры
Процессы в одном адресном пространстве называют облегченны-
ми потоками. При переключении контекста
1
такому потоку прихо-
дится сохранять относительно мало информации. Заметим, однако,
что это не относится к процессам в UNIX, ибо последние жест-
ко отделены друг от друга: каждый процесс име ет свое адресное
пространство и при переключении контекста требует сохранения
таблиц управления памятью и состояния регистров.
Процессы внутри модуля могут разделять переменные и вызы-
вать процедуры, объявленные в этом модуле, но процессы из дру-
гого модуля могут вызывать лишь те процедуры модуля, которые
1
Контекстом данного процесса в тот или иной момент времени можно на-
звать программное окружение и ресурсы, используемые процессом в рассмат-
риваемый момент времени. При прерывании д анный процесс прерывается и
заменяется другим процессом с другим контекстом, так что при этом происхо-
дит смена контекстов. При возврате из состояния прерывания к продолжению
приостановленного процесса прежний контекст восстанавливается.
72