6. Очереди сообщений. Семафоры. Общая память.

Descripción

Конспект к шестой лекции курса "Многопоточное программирование" на stepic.org
Sergei Fomin
Fichas por Sergei Fomin, actualizado hace más de 1 año
Sergei Fomin
Creado por Sergei Fomin hace casi 9 años
12
0

Resumen del Recurso

Pregunta Respuesta
Принцип межпроцессного взаимодействия с использованием объектов System V Сначала получаем ключ объекта через ftok, которому передаём путь к реальному файлу в ФС. Потом создаём или открываем по этому ключу ресурс.
Принцип межпроцессного взаимодействия с использованием объектов POSIX Имя объекта - произвольная строка, начинающаяся на '/'. Чтобы удалить объект, надо сделать один раз unlink и во всех запущенных процессах close.
Очередь сообщений. Отличия от PIPE Позволяет передавать сообщений произвольной длины. В пайпах работаем с сырыми байтами, а тут уже с сообщениями.
Различия очередей сообщений System V и POSIX SYSTEM V: позволяет поддерживать несколько параллельных очередей сообщений разных типов. Также реализует функциональность приоритетной очереди. POSIX: только приоритетная очередь. Позволяет одному потоку делать асинхронное чтение.
Семафоры. Различия семафоров System V и POSIX Семафор - объект, позволяющий организовывать доступ к ресурсу ограниченного числа процессов. В System V можно работать с целыми массивами семафоров сразу и делать транзакции операций. В POSIX 1 семафор и 1 операция за раз. Есть безымянные семафоры и доступ с таймаутом.
Общая память Возможность нескольким процессам иметь отображение в своё ВАП одного и того же фрагмента памяти. Изменение данных одним процессом отображается во всех других.
Принцип использования общей памяти в POSIX Через вызов mmap - он позволяет отобразить файл из ФС в ВАП процесса. С помощью shm_open можно открыть виртуальный файл 0-го размера, увеличить его размер через ftruncate. Дальше использовать как простой файл через mmap.
Mostrar resumen completo Ocultar resumen completo

Similar

Components of An Operating System - Jason Madappattu
Jason EM
Linux - File Permissions
Mitch Isaacs
Linux Programming Interface: Chapter 1
Jon Schipp
RedHat Linux Version 7 System Administration Certification
John Sweet
SISTEMAS OPERATIVOS
Sebastian Molina
3. Сокеты Беркли. Мультиплексирование.
Sergei Fomin
Computing
Jak Salad
Linux Programming Interface: Chapter 2
Jon Schipp
Linux Commands 1102-M1
Lyndsay Badding
Sistemas operativos Windows
Moonpel95
Sistemas Operacionais
Jonatas E marques