[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Системные вызовы для работы с семафорами

Ниже приведен обзор системных вызовов для работы с семафорами:
  semget(2)    Этот системный  вызов получает  набор из  одного или
               более семафоров.  semget(2) возвращает идентификатор
               набора семафоров.  Семафор  однозначно  определяется
               этим  идентификатором  и  индексом  (начинающимся  с
               нуля) в наборе.

  semclt(2)    Этот системный вызов служит следующим целям:

                . Получает значение  одиночного семафора  из набора
                  или всех семафоров в наборе.

                . Устанавливает значение  одного или всех семафоров
                  в наборе.

                . Получает информацию о состоянии набора семафоров.

                . Определяет  число   процессов,  ожидающих,   пока
                  семафор из набора не станет нулевым.

                . Определяет  число   процессов,  ожидающих,   пока
                  семафор в наборе не увеличится по сравнению с его
                  текущим значением.

                . Определяет процесс,  который  выполнял  последнюю
                  операцию над семафором.

                . Удаляет набор семафоров. Наборы семафоров, так же
                  как файлы  и очереди  сообщений, должны удаляться
                  явным образом.

  semop(2)     Этот  системный   вызов  оперирует   с   одним   или
               несколькими семафорами  в  наборе.  Можно  увеличить
               значение семафора  на заданную  величину, уменьшить,
               или  ожидать,   пока  значение  семафора  не  станет
               нулевым.  Уменьшение   значения  семафора  блокирует
               процесс,  если   вычитаемая  величина   меньше   его
               текущего значения.
. semget(2)

     -  создать набор из одного или нескольких семафоров, или
        получить доступ к существующему набору.

. semctl(2)

     -  получить или установить значение одного или всех семафоров
        в наборе

     -  получить информацию о состоянии или изменить состояние
        набора семафоров

     -  определить количество процессов, ожидающих нулевого
        значения семафора или увеличения его текущего значения

     -  определить процесс, который выполнил последнюю операцию над
        семафором

     -  удалить набор семафоров

. semop(2)

     -  выполнить операцию над одним или несколькими семафорами из
        набора