Второй способ: коммуникация процессов через общую область памяти.




УО «Гродненский государственный политехнический колледж»

 

РEФEРAТ

На тему: «Обзор коммуникационных моделей процессов в операционных системах»

Выполнил учащийся гр. ВМС-7

Костюк Р.Г.

Г.

 

СОДЕРЖАНИЕ

 

Введение.......................................................................................................... 3

Понятие Коммуникация................................................................................. 4

Виды коммуникационных моделей............................................................... 4

Первый способ коммуникационных процессов........................................... 4

Второй способ коммуникационных процессов............................................. 6

Заключение..................................................................................................... 8

Список использованных источников............................................................. 9


Введение

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

 

 

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

 

Виды коммуникационных моделей

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

1. С помощью передачи сообщений.

2. С помощью общей памяти;

Первый способ: коммуникация процессов с помощью передачи сообщений.

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

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

В свою очередь такой коммуникационный процесс делится на два типа:

1. Непосредственная коммуникация(с явным указанием адресов или имен процессов-адресатов);

2. Косвенная коммуникация (через почтовые ящики).

Непосредственная коммуникация

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

Рассмотрим возможные механизмы для непосредственной коммуникации процессов и синхронизации их действий.

Наиболее распространенные из них - система сообщений; при этом процессы взаимодействуют между собой без обращений к общим переменным.

Средства коммуникации между процессами обеспечивают две операции вида:

1. send (message) – отправка сообщения message; размер сообщения может быть постоянным или переменным;

2. receive (message) – получение сообщения в буфер message.

Если процессам P и Q требуется взаимодействовать между собой, им необходимо:

1. Установить связь друг с другом;

2. Обменяться сообщениями вида send/receive.

Реализация связи может быть физической (общая память, аппаратная шина) или логической (например, логические свойства).

Косвенная коммуникация.

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

В таких процессах каждый почтовый ящик (порт) имеет уникальный идентификатор. Процессы могут взаимодействовать, только если они имеют общий почтовый ящик (порт).

Свойства линии связи в этом случае следующие:

1. Связь устанавливается, только если процессы имеют общий почтовый ящик (порт).

2. Связь одного процесса может быть установлена со многими процессами (которым доступен тот же почтовый ящик(порт)).

3. Каждая пара процессов может иметь несколько линий связи.

4. Связь может быть ненаправленной или двунаправленной.

При косвенном способе коммуникации процессы используют набор операций вида:

1. Создать новый почтовый ящик(порт).

2. Отправить (принять) сообщение через почтовый ящик(порт).

3. Удалить почтовый ящик(порт)

4. Основные операции коммуникации принимают вид:

5. send (A, message) – послать сообщение в почтовый ящик (порт) A.

6. receive (A, message) – получить сообщение из почтового ящика (порта) A.

При косвенной связи могут возникнуть проблемы с недетерминизмом при получении сообщений, если несколько процессов используют общий почтовый ящик(порт).

Второй способ: коммуникация процессов через общую область памяти.

В этом способе оба процесса взаимодействуют через общую область памяти, адрес которой известен им обоим. Такой способ может оказаться более быстрым, но необходимо учесть, что в данном случае процессы должны позаботиться о синхронизации, так как общая область памяти – это общий ресурс, при обращении к которому может возникнуть состояние гонки (race condition). Схема этого коммуникационного процесса изображена на рис.2

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

 


 

Заключение

Коммуникационные модули процессов широко применяются в операционных системах тем самым позволяю улучшить ее работу вашей.


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: