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