Основные аспекты организации совместной работы процесса

  1. Категории средств обмена информации.

По объему передаваемой информации и степени возможного воздействия на поведение другого процесса, разделяют на 3 категории:

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

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

Разделяемая память, 2 или более процессов могут совместно использовать некоторую область адресного пространства, созданием разделяемой памяти занимается ОС, возможность обмена информацией максимальна. Степень возможного воздействия требует повышенной осторожности. Использование разделяемой памяти для передачи/получения информации осуществляется с помощью средств обычных языков программирования. Для сигнальных и канальных специальные системные вызовы. Разделяемая память представляет собой наиболее быстрый способ взаимодействия процессов в одной вычислительной системе.

2. Логическая организация механизма передачи информации. К ней относятся:

1. Как устанавливается связь.

Если мы передаем информацию, то должны знать, куда ее передаем. Если получаем, то должны знать, откуда ее можно получить. Различают 2 способа адресации: прямую и непрямую.

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

В симметричной прямой адресации ни один другой процесс не может вмешаться в общение 2-х процессов, перехватить посланный или подменить ожидаемые данные.

В ассиметричной прямой адресации процесс может не знать имени, от которого получается информация, и к которому поступает (1 знает, а другой не знает, т.е. не знает от кого придет информация, только знает, что получит).

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

При использовании прямой адресации связь между процессами классической ОС устанавливается автоматически. При использование непрямой адресации инициализация средств связи может и не потребоваться.

2. Информационная валентность процесса из средств связи. Сколько процессов может быть одновременно ассоциировано с конкретным средством связи, сколько таких средств связи может быть задействовано между 2-я процессами.

При прямой адресации только одно фиксированное средство связи может быть задействовано для обмена данными между 2-я процессами, и только эти 2 процесса могут быть ассоциированы с ними.

При непрямой адресации может существовать более 2 процессов, использующих 1 и тот же объект для данных и более одного объекта может быть использовано 2-я процессами.

12.3. Средства связи: однонаправленные и двунаправленные.

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

Особенности передачи информации с помощью линии связи.

Буферизация. Обладает ли канал буфером и объект буфера. 3 варианта:

1)буфер 0-ой емкости или отсутствует, т.е. на линии связи информация не сохраняется.

2)буфер ограниченной емкости, размер буфера =n, т.е. линия связи не может хранить документы получения более чем n единиц информации.

3) буфер неограниченной емкости, теоретически возможно, практически нет. Процесс не ждет, когда он получит информацию.

2. Поток ввода-вывода и сообщения

Существуют две модели передачи данных по каналам связи - поток ввода-вывода и сообщение.

1. Поток ввода-вывода информации: при передаче данных с помощью потоковой модели операции передачи приема информации вообще не интересуется содержимым данных. Процесс прочитавший сто байт из линии связи, не знает и не может знать были ли они переданы одновременно или по частям: например по 20 байт и были ли они посланы одним или несколькими процессами. Данные представляют собой поток данных. Примером потоковых каналов связи могут служить pipe каналы – труба, канал – это один из наиболее простых способов передачи информации между процессами.

Пример: представим, что в вычислительной системе есть некоторая труба в один из концов, которых процессы отправляют свою информацию, а с другой стороны забирают - такой процесс реализует процесс ввода-вывода информации. Информацией о расположении трубы обладает процесс создавший ее и процессы – дети (если процесс хочет, чтобы о трубе знали другие процессы, которые не находятся в его дереве, он должен сообщить ОС о существовании этой трубы, например дать ей имя). Объем переданной информации измеряется в байтах, мг, Кл.

2. Сообщение

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: