Составители:
Рубрика:
ждет, пока процесс-сервер выполнит тело процедуры, реализующей
операцию opname. Возвращаясь из opname процесс-сервер отсыла-
ет результаты вызвавшему процессу и завершается, а вызвавший
процесс продолжает свою работу (см. рис. 8). Передача и получение
результатов происходит неявно, их специально программировать не
следует.
Рис. 8. Приостановка вызывающего процесса, работа процесса-сервера
В случае если вызывающий процесс и процедура находятся в
одном адресном пространстве, то новый процесс не создается: вы-
зывающий процесс временно становится серверным.
§ 2. Вопросы взаимно исключающего доступа
и синхронизации (внутри модуля)
В модулях может быть много процессов:
– процессы-серверы (осуществляющие удаленные вызовы);
– фоновые процессы;
поэтому в них необходимо обеспечивать взаимно исключающий до-
ступ к разделяемым переменных, а также необходима синхрониза-
ция процессов.
Имеется два способа реализации взаимного исключения и син-
хронизации: все процессы одного модуля выполняются
1) со взаимным исключением и в каждый момент активен лишь
один процесс;
2) параллельно (и явным образом программируется вз аимн ое
исключение и синхронизация по условию; при этом каждый модуль
становится параллельной программой, в которой могут использо-
ваться семафоры или мониторы, а также передача сообщений).
При первом способе
– модули проще программировать;
74
Страницы
- « первая
- ‹ предыдущая
- …
- 71
- 72
- 73
- 74
- 75
- …
- следующая ›
- последняя »