Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Технология отображаемой памяти
Еще одной категорией средств межпроцесового взаимодействия есть отображаемая память (mapped memory). В ряде ОС отображаемая память есть базовым системным механизмом, на котором основываются другие виды межпроцесорного взаимодействия и системные решения. Обычно отображаемую память используют в сочетании с интерфейсом файловой системы, в таком случае говорят о файлах, отображаемых в память (memory-mapped files). Эта технология сводится к тому, что с помощью специального системного вызова (обычно это mmap() определенную часть адресного пространства процесса однозначно связывают с содержимым файла. После этого любая операция записывания в такую память служит причиной изменения содержимого отображенного файла, которая сразу становится доступной всем приложениям, которые имеют доступ к этому файла. Другие приложения тоже могут отобразить тот самый файл в свое адресное пространство и обмениваться через него данными друг с другом. Особенности межпроцесорного взаимодействия Теперь можно сравнить характеристики межпроцесорного взаимодействия с характеристиками взаимодействия потоков одного процесса. ♦ Проблема организации обмена данными есть актуальной только для межпроцесорного взаимодействия, поскольку потоки обмениваются данными через общее адресное пространство. Обмен данными между потоками похожий на использование распределенной памяти, но не нуждается в подготовительных действиях. ♦ Проблема синхронизации доступа к совместно используемым данным есть актуальною для взаимодействия потоков и для межпроцесорного взаимодействия с использованием распределенной памяти. Использование механизма передачи сообщений не основывается на совместно используемых данных. Базовые механизмы межпроцессового взаимодействия В этом параграфе рассмотрим особенности организации взаимодействия между потоками разных процессов. Основной характеристикой такого взаимодействия есть то, что у процессов нет общего адресного пространства, поэтому здесь нельзя непосредственно работать с совместно используемыми данными, как это было возможно для потоков. Здесь говориться преимущественно о процессах, под которыми понимают потоки разных процессов.
Межпроцессовое взаимодействие на базе общей памяти Для решения проблемы межпроцессорной синхронизации необходимо: ♦ во-первых, организовать общую память между процессами (это может быть распределенная память или файл, отображенный в память); ♦ во-вторых, разместить в этой памяти стандартные объекты синхронизации (семафоры, мютексы, условные сменные); ♦ в-третьих, используя эти объекты, работать с совместно разработанными данными, как это делалось в случае использования потоков. Такой подход широко применяют на практике. К сожалению, довольно сложно предложить способ его реализации для межпроцесорной синхронизации в большинстве систем, поскольку разные системы предлагают разный набор средств организации общей памяти и средств сигнализации, которые могут работать в такой памяти. Универсальным решением в данном разе есть применения семафоров. Основы передачи сообщений Все методы взаимодействия, которые было рассмотрено до сих пор, основываются на чтении и записывании совместно используемых данных. На практике такое взаимодействие не всегда возможное (например, работа с совместно используемыми данными проблематична, если для процессов нет общей физической памяти, а есть только сетевая связь между компьютерами, на которые они выполняются). В таких случаях можно использовать средства взаимодействия, которые не основываются на совместно используемых данных, прежде всего средства передачи сообщений. Как было уже упомянуто, средства передачи сообщений основываются на обмене сообщениями - фрагментами данных сменной длины. Основой такого обмена есть не общая память, а канал связи. Он обеспечивает взаимодействие между процессами (для того, чтобы общаться, они должны создать канал связи) и является абстрактным отображением сети связи. Абстрактность канала дает возможность реализовать его не только на основе сетевого взаимодействия, но и общей памяти (когда процессы находятся на одном компьютере). При этом такие изменения в реализации будут скрыты от процессов, которые взаимодействуют. Выделяют такие характеристики каналов связи: -способ задання; -количество процессов, которые могут быть соединены одним каналом; -количество каналов, которые могут быть созданы между двумя процессами; -пропускная способность канала (количество сообщений, которые могут одновременно находиться в системе и быть ассоциированными с этим каналом); -максимальный размер сообщения; -направленность связи через канал (двусторонняя или односторонняя связь). В односторонней связи для конкретного процесса допускают передачи данных только в один сторону.
|
|||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 153; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.33.87 (0.005 с.) |