Составители:
2.5. Межпроцессорное взаимодействие
Существует необходимость взаимодействия процессов. Даже в
случае наличия независимых процессов, не предназначенных для вы-
полнения общей задачи (пакетные задания, интерактивные сессии),
операционная система должна решать вопросы конкурентного ис-
пользования ресурсов. Например, два независимых приложения мо-
гут запросить доступ к одному диску или порту. Поэтому необходимо
правильно организованное взаимодействие между процессами – IPC
(Inter Process Communication) [2,3,5,6].
Параллельными называются такие процессы, которые одновре-
менно находятся в активном состоянии. Два параллельных процесса
могут быть независимыми (independent processes) либо взаимодейст-
вующими (cooperating processes) [2]. Независимыми являются процес-
сы, множества переменных которых не пересекаются. Переменными
могут быть файлы данных, области оперативной памяти и т.д. Неза-
висимые процессы не влияют непосредственно на результаты работы
друг друга, однако могут явиться причиной задержек исполнения
других процессов, так как вынуждены разделять ресурсы системы.
Взаимодействующие процессы совместно используют некоторые пе-
ременные, и выполнение одного процесса может повлиять на выпол-
нение другого. Взаимодействующие процессы могут либо конкури-
ровать за получение доступа к ресурсам, либо сотрудничать для вы-
полнения общей задачи. Например, запрос чтения данных с диска,
направляемый процессом файловой системы процессу управления
диском, должен ожидать записи этих данных в память. Для успешно-
го взаимодействия процессов необходимы два механизма [6]:
o Синхронизация. Процессам, выполняющим общую задачу, нуж-
но ЖДАТЬ друг друга и СИГНАЛИЗИРОВАТЬ друг другу.
52
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »