[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Системные вызовы для работы с семафорами
Ниже приведен обзор системных вызовов для работы с семафорами:
semget(2) Этот системный вызов получает набор из одного или
более семафоров. semget(2) возвращает идентификатор
набора семафоров. Семафор однозначно определяется
этим идентификатором и индексом (начинающимся с
нуля) в наборе.
semclt(2) Этот системный вызов служит следующим целям:
. Получает значение одиночного семафора из набора
или всех семафоров в наборе.
. Устанавливает значение одного или всех семафоров
в наборе.
. Получает информацию о состоянии набора семафоров.
. Определяет число процессов, ожидающих, пока
семафор из набора не станет нулевым.
. Определяет число процессов, ожидающих, пока
семафор в наборе не увеличится по сравнению с его
текущим значением.
. Определяет процесс, который выполнял последнюю
операцию над семафором.
. Удаляет набор семафоров. Наборы семафоров, так же
как файлы и очереди сообщений, должны удаляться
явным образом.
semop(2) Этот системный вызов оперирует с одним или
несколькими семафорами в наборе. Можно увеличить
значение семафора на заданную величину, уменьшить,
или ожидать, пока значение семафора не станет
нулевым. Уменьшение значения семафора блокирует
процесс, если вычитаемая величина меньше его
текущего значения.
. semget(2)
- создать набор из одного или нескольких семафоров, или
получить доступ к существующему набору.
. semctl(2)
- получить или установить значение одного или всех семафоров
в наборе
- получить информацию о состоянии или изменить состояние
набора семафоров
- определить количество процессов, ожидающих нулевого
значения семафора или увеличения его текущего значения
- определить процесс, который выполнил последнюю операцию над
семафором
- удалить набор семафоров
. semop(2)
- выполнить операцию над одним или несколькими семафорами из
набора