Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

XSI IPC

.pdf
Скачиваний:
6
Добавлен:
22.03.2016
Размер:
136.59 Кб
Скачать

Пример выполнения операции

semd = semget(IPC_PRIVATE, 1, 0666 | IPC_CREAT); struct sembuf mybuf;

// задаем начальное значение семафора равное 1 mybuf.sem_num = 0;

mybuf.sem_op = 1; mybuf.sem_flg = 0;

semop(semd,&mybuf,1);

Удаление семафоров

Аналогично разделяемой памяти:

semctl(semd, 0, IPC_RMID, NULL);

Лабораторная работа №4

Вычисление числа Пи несколькими процессами.

Хранение переменной с суммой в разделяемой памяти

Очереди сообщений

Можно представить как почтовый ящик, в который различные процессы

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

Выборка сообщений из этого почтового ящика производится процессами по собственному желанию следующими способами:

1.Независимо от типа сообщения в порядке FIFO (First In First Out).

2.В рамках определенного типа в порядке FIFO.

3.Первым выбирается самое старое сообщение имеющее минимальный тип.

Использование

Данный вид IPC считается устаревшим и не рекомендуется к применению в реальных системах.

Недостатки

XSI IPC привязаны к ядру, а не к процессу

Не имеют счетчика ссылок

Не имеют имени в файловой систем (возникает необходимость использования специальных системных вызовов)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]