Лекция: Коммуникационные модели

Одновременно обрабатываемые операционной системой пользовательские процессы должны иметь возможность коммуникации друг с другом. Такая коммуникация реализуется в операционных системах двумя способами – с помощью общей памяти и с помощью передачи сообщений. Обе схемы коммуникации процессов изображены на рис. 6.4.


Рис. 6.4. Коммуникация процессов с помощью передачи сообщений и с помощью общей области памяти.

При первом способе, процесс A для передачи сообщения M процессу B выполняет системный вызов — например, send (B, M), — т.е. фактически передает это сообщение ядру ОС. Процесс B, в свою очередь, выполняет системный вызов для получения сообщения – например, M = receive (B)– т.е. фактически получает сообщение M от ядра ОС, подобно какому-либо ресурсу системы.

При втором способе, оба процесса взаимодействуют через общую область памяти, адрес которой известен им обоим. Такой способ может оказаться более быстрым, но необходимо учесть, что в данном случае процессы должны позаботиться о синхронизации(см. «Архитектура ОС. Управление процессами: Основные понятия. Семафоры и мониторы „), так как общая область памяти – это общий ресурс, при обращении к которому может возникнуть race condition.

еще рефераты
Еще работы по информатике