XCI. Sémaphores et gestion de la mémoire partagée

Ce module fourni un système de sémaphore . Ce système utilise les sémaphores System V . Les sémaphores peuvent être utilisés pour fournir un accès exclusif à certaines ressources de la machine , ou pour limiter le nombre de processus qui utilisent en même temps une ressource .

Ce module fournit aussi un système de mémoire partagée , qui utilise la mémoire partagée System V . Cette mémoire partagée permet d ' accéder à des variables globales . Les différents démons httpd et mêmes d' autres programmes (tels que Perl , C , .. . ) permettent un tel échange de données global . N' oubliez pas que la mémoire partagée n'est pas protégées contre l 'accès simultané . Il vous faudra utiliser les sémaphores pour assurer la synchronisation .

Tableau 1 . Limites de la mémoire partagée sous Unix OS

Taille maximale de mémoire partagée , par défaut , 131072 octets .
Taille minimale de mémoire partagée , par défaut , 1 octet .
Nombre maximal de segment de mémoire partagé , par défaut 100 .
Taille maximale de mémoire partagée par processus , par défaut 6 .


Table des matières
ftok -- Convert a pathname and a project identifier to a System V IPC key
msg_get_queue -- Create or attach to a message queue
msg_receive -- Receive a message from a message queue
msg_remove_queue -- Destroy a message queue
msg_send -- Send a message to a message queue
msg_set_queue -- Set information in the message queue data structure
msg_stat_queue -- Returns information from the message queue data structure
sem_acquire -- Réserve un sémaphore.
sem_get -- Retourne un identifiant de sémaphore.
sem_release -- Libère un sémaphore.
sem_remove -- Remove a semaphore
shm_attach -- Crée ou ouvre un segment de mémoire partagée.
shm_detach -- Libère un segment de mémoire partagée.
shm_get_var -- Lit une variable dans la mémoire partagée.
shm_put_var -- Insère ou modifie une variable de la mémoire partagée.
shm_remove_var -- Efface une variable de la mémoire partagée.
shm_remove -- Supprime un segment de mémoire partagée sous Unix.