The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
next up previous contents index
Next: Управление разделяемыми сегментами памяти Up: Разделяемые сегменты памяти Previous: Использование разделяемых сегментов памяти   Contents   Index

Создание разделяемых сегментов памяти

Для создания разделяемого сегмента памяти служит системный вы- зов shmget. Синтаксис данного системного вызова описан так:

        #include <sys/types.h>
        #include <sys/ipc.h>
        #include <sys/shm.h>

        int shmget (key, size, shmflg)
        key_t key;
        int size, shmflg;
Целочисленное значение, возвращаемое в случае успешного завершения, есть идентификатор разделяемого сегмента (shmid). В случае неудачи результат равен -1.

Смысл аргументов key и shmflg тот же, что и у соответствующих аргументов системного вызова semget. Аргумент size задает размер разделяемого сегмента в байтах.

Системный параметр SHMMNI определяет максимально допустимое число уникальных идентификаторов разделяемых сегментов памяти (shmid) в системе. Попытка его превышения ведет к неудачному завершению системного вызова.

Системный вызов завершится неудачей и тогда, когда значение аргумента size меньше, чем SHMMIN, либо больше, чем SHMMAX. Данные системные параметры специфицируют, соответственно, минимальный и максимальный размеры разделяемого сегмента памяти.

В справочной статье shmget описывается начальное значение ассоциированной структуры данных, формируемое в случае успешного завершения системного вызова.



Alex Otwagin 2002-12-16



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру