69306

Види міжпроцесової взаємодії

Лекция

Информатика, кибернетика и программирование

Для потоків різних процесів питання забезпечення синхронізації теж є актуальними, але вони в більшості випадків не ґрунтуються на понятті спільно використовуваних даних (такі дані за замовчуванням для процесів відсутні).

Украинкский

2014-10-03

33 KB

1 чел.

Лекція № 10

Тема: Види міжпроцесової взаємодії

План

  1.  Метод роз поділюваної пам’яті
  2.  Методи передавання повідомлень
  3.  Технологія відображуваної пам’яті
  4.  Особливості міжпроцесової взаємодії

Дотепер ми розглядали взаємодію потоків одного процесу. Головною особливістю цієї взаємодії є простота технічної реалізації обміну даними між ними - усі потоки одного процесу використовують один адресний простір, а отже, можуть вільно отримувати доступ до спільно використовуваних даних, ніби вони є їх власними. Оскільки технічних труднощів із реалізацією обміну даними тут немає, основною проблемою, яку потрібно вирішувати в цьому випадку, є синхронізація потоків.

З іншого боку, кожен потік виконується в рамках адресного простору деякого процесу, тому часто постає задача організації взаємодії між потоками різних процесів. Ідеться власне про міжпроцесову взаємодію (interprocess communication, IPC) [37]. Ця технологія з'явилася задовго до поширення багатопотоковості.

Для потоків різних процесів питання забезпечення синхронізації теж є актуальними, але вони в більшості випадків не ґрунтуються на понятті спільно використовуваних даних (такі дані за замовчуванням для процесів відсутні). Крім того, додається досить складна задача забезпечення обміну даними між захищеними адресними просторами. Підходи до її розв'язання визначають різні види міжпроцесової взаємодії.

Види міжпроцесової взаємодії

Реалізація міжпроцесової взаємодії здійснюється трьома основними методами: передавання повідомлень, розподілюваної пам'яті та відображуваної пам'яті. Ще одним методом IPC також можна вважати технологію сигналів, що була розглянута в розділі 3.

Сигнали були розглянуті раніше, тому що їхнє використання не зводиться тільки до організації IPC (синхронні сигнали є засобом оповіщення процесу про виняткову ситуацію); без них складно пояснити ряд базових понять керування процесами (наприклад, очікування завершення процесу).

Методи розподілюваної пам'яті

Методи розподілюваної пам'яті (shared memory) дають змогу двом процесам обмінюватися даними через загальний буфер пам'яті. Перед обміном даними кожний із тих процесів має приєднати цей буфер до свого адресного простору з використанням спеціальних системних викликів (перед цим перевіряють права). Буфер доступний у системі за допомогою процедури іменування, термін його існування звичайно обмежений часом роботи всієї системи. Дані в ньому фактично є спільно використовуваними, як і для потоків. Жодних засобів синхронізації доступу до цих даних розподілювана пам'ять не забезпечує, програміст, так само, як і при розробці багатопотокових застосувань, має організовувати її сам.

Методи передавання повідомлень

В основі методів передавання повідомлень (message passing) лежать різні технології, що дають змогу потокам різних процесів (які, можливо, виконуються на різних комп'ютерах) обмінюватися інформацією у вигляді фрагментів даних фіксованої чи змінної довжини, котрі називають повідомленнями (messages). Процеси можуть приймати і відсилати повідомлення, при цьому автоматично забезпечується їхнє пересилання між адресними просторами процесів одного комп'ютера або через мережу. Важливою особливістю технологій передавання повідомлень є те, що вони не спираються на спільно використовувані дані — процеси можуть обмінюватися повідомленнями, навіть не знаючи один про одного.

Технологія відображуваної пам'яті

Ще однією категорією засобів міжпроцесової взаємодії є відображувана пам'ять (mapped memory). У ряді ОС відображувана пам'ять є базовим системним механізмом, на якому ґрунтуються інші види міжпроцесової взаємодії та системні вирішення. Звичайно відображувану пам'ять використовують у поєднанні з інтерфейсом файлової системи, в такому разі говорять про файли, відображувані у пам'ять (memory-mapped files).

Ця технологія зводиться до того, що за допомогою спеціального системного виклику (зазвичай це mmapO) певну частину адресного простору процесу однозначно пов'язують із вмістом файла. Після цього будь-яка операція записування в таку пам'ять спричиняє зміну вмісту відображеного файла, яка відразу стає доступною усім застосуванням, що мають доступ до цього файла. Інші застосування теж можуть відобразити той самий файл у свій адресний простір і обмінюватися через нього даними один з одним.

Файли, відображувані у пам'ять, будуть докладно розглянуті в розділі 11.

Особливості міжпроцесової взаємодії

Тепер можна порівняти характеристики міжпроцесової взаємодії із характеристиками взаємодії потоків одного процесу.

♦ Проблема організації обміну даними є актуальною тільки для міжпроцесової взаємодії, оскільки потоки обмінюються даними через загальний адресний простір. Обмін даними між потоками схожий на використання розподілюваної пам'яті, але не потребує підготовчих дій.

♦ Проблема синхронізації доступу до спільно використовуваних даних є актуальною для взаємодії потоків і для міжпроцесової взаємодії із використанням розподілюваної пам'яті. Використання механізму передавання повідомлень не ґрунтується на спільно використовуваних даних.

Питання для самоконтролю:

  1.  Методи міжпроцесової взаємодії.
  2.  Метод розділюваної пам’яті
  3.  Методи передавання повідомлень
  4.  Технологія відображуваної памяті
  5.  Особливості міжпроцесової взаємодії


 

А также другие работы, которые могут Вас заинтересовать

39827. Знакомство с операциями твердотельного моделирования: операция Выдавливание 5.16 MB
  Можно щелкнуть кнопку списка Создать на панели управления Стандартная и выбрать Деталь.3 а или нажмите кнопку − Эскиз на панели Текущее состояние рис. Выбор команды Эскиз на панели Текущее состояние. Он указывает на существование расширенной панели команд.
39828. Знакомство с операциями твердотельного моделирования: операция Вращение 2.49 MB
  Вращение линии любой формы вокруг оси создает тело вращения. Такие линии называются образующими а тела полученные в результате вращения их вокруг оси называются телами вращения. Создание трехмерной модели тела вращения с образующей в виде отрезка В данном задании необходимо создать тело вращения у которого образующей будет отрезок. Эскиз Отрезок – образующая тела вращения Итак мы построили образующую тела вращения.
39829. Приемы использования операции копирование 1.75 MB
  Кроме этого имеется специальная операция РедакторКопияУказанием По кривой По окружности По сетке По концентрической сетке. Радиус окружности 3 мм: выберите на панели Геометрия инструмент Окружность; на Панели свойств выбранной команды установите необходимый стиль линии Основная отключите отрисовку осей симметрии кнопка переключателя Оси; привяжитесь к началу координат точка 0; 0 комбинацией клавиш Ctrl 0 и нажмите Enter возможно дважды Следите за информацией в строке сообщений и состоянием индикатора слева от поля...
39830. Ломаные линии и сплайновые кривые. Кривая Безье, NURBS-кривая 1.95 MB
  Изучение приемов работы с ломаными линиями и сплайновыми кривыми: кривая Безье, NURBS-кривая. Редактирование сплайновых кривых. Способы создания скульптурных поверхностей.
39831. Твердотельное моделирование 1.8 MB
  11 Плоскости и прямоугольная система координат в пространстве Работа № 10 Твердотельное моделирование. Переименовать плоскости проекций: выделить в окне Дерево модели плоскость проекций XY рис.2 а; нажать клавишу F2 или повторно щелкнуть на названии выделенной плоскости; ввести новое название – Фронтальная плоскость XY; нажать Enter. В этой версии системы КОМПАС ось OZ направлена перпендикулярно плоскости экрана.
39832. Знакомство с операциями твердотельного моделирования: кинематическая операция 1.38 MB
  Введение В работах № 2 и № 3 вы фактически уже познакомились с перемещением эскизасечения по заданным траекториям хотя слово траектория и не применялось. При применении операции Выдавливание перемещение эскиза производится вдоль отрезка прямой перпендикулярной плоскости построения эскиза. Результатом этой операции были модели таких твердых тел как тонкая пластина эскиз Отрезок цилиндр или труба эскиз Окружность гнутые тонкие пластины эскиз Ломаная линия или Кривая Безье. При применении операции Вращение перемещение...
39833. Знакомство с операциями твердотельного моделирования: операция по сечениям 1.66 MB
  Они носят название Плоскость смещенная т. Смещенная плоскость параллельна Горизонтальной плоскости. Выберите в окне Дерево модели плоскость ZX Горизонтальная плоскость. Для создания второго сечения с эскизом Окружность нам понадобится смещенная плоскость относительно плоскости ZX.
39834. Приемы работы с инструментом Точка 410.15 KB
  Фрагмент – документ в системе КОМПАС-ГРАФИК LT. Чертеж хранится в цифровом виде в отдельном файле специального двоичного формата. Расширение имени файла. Фрагмент не содержит объектов оформления: нет рамки, основной надписи, знака неуказанной шероховатости и технических требований.
39835. Приемы работы с инструментом Отрезок 700.5 KB
  Кнопка выбора инструмента Отрезок – находится на панели Геометрия. Расширенная панель команд Отрезок имеет вид представленный на рис. Расширенная панель команд инструмента Отрезок.