NOM¶
shm_overview - Panorama de la mémoire partagée POSIX
DESCRIPTION¶
L'API de mémoire partagée POSIX permet aux processus de communiquer
entre eux en partageant une région de la mémoire.
Les interfaces utilisées dans l'API sont :
- shm_open(3)
- Créer et ouvrir un nouvel objet, ou ouvrir un objet
existant. Elle est analogue à open(2). La fonction renvoie un
descripteur de fichiers qui pourra être utilisé par les
interfaces décrites ci-dessous.
- ftruncate(2)
- Définir la taille de l'objet en mémoire
partagée. (Un objet nouvellement créé en mémoire
partagée a une taille nulle.)
- mmap(2)
- Projeter l'objet en mémoire partagée dans
l'espace d'adresses virtuel du processus appelant.
- munmap(2)
- Déprojeter l'objet en mémoire partagée de
l'espace d'adresses virtuel du processus appelant.
- shm_unlink(3)
- Supprimer le nom d'un objet en mémoire
partagée.
- close(2)
- Fermer le descripteur de fichier alloué avec
shm_open(3) lorsqu'on en a plus besoin.
- fstat(2)
- Obtenir une structure stat décrivant l'objet en
mémoire partagée. Parmi les informations renvoyées par cet
appel, on trouve la taille de l'objet ( st_size), ses permissions
(st_mode), son propriétaire (st_uid) et le groupe (
st_gid) auquel il appartient.
- fchown(2)
- Pour modifier l'appartenance d'un objet en mémoire
partagée.
- fchmod(2)
- Pour modifier les permissions d'accès d'un objet en
mémoire partagée.
Versions¶
La mémoire partagée POSIX est gérée depuis Linux 2.4 et
la glibc 2.2.
Persistance¶
Les objets en mémoire partagée POSIX ont la persistance du
noyau : un objet en mémoire partagée existera jusqu'à ce
que le système soit éteint, ou bien jusqu'à ce que tous les
processus aient déprojetés l'objet et que celui-ci ait été
supprimé avec
shm_unlink(3).
Édition des liens¶
Les programmes utilisant l'API de mémoire partagée POSIX doit
être compilé avec
cc -lrt pour le lier à la
bibliothèque temps-réel
librt.
Accéder aux objets en mémoire partagée par le
système de fichiers¶
Sous linux, les objets en mémoire partagée sont créés sur un
système de fichiers virtuel (
tmpfs), généralement
monté sur
/dev/shm. Depuis le noyau 2.6.19, Linux gère
l'utilisation des listes de contrôle d'accès (ACL) pour
contrôler les permissions d'accès aux objets du système de
fichiers virtuel.
POSIX.1-2001.
NOTES¶
Typiquement, les processus doivent synchroniser leur accès à un objet
en mémoire partagée en utilisant, par exemple, les sémaphores
POSIX.
La mémoire partagée System V (
shmget(2),
shmop(2),
etc.) est une ancienne API de mémoire partagée. La mémoire
partagée POSIX offre une interface plus simple et mieux
conçue ; d'un autre coté, la mémoire partagée POSIX
est moins largement disponible (particulièrement sur d'anciens
systèmes) que la mémoire partagée System V.
VOIR AUSSI¶
fchmod(2),
fchown(2),
fstat(2),
ftruncate(2),
mmap(2),
mprotect(2),
munmap(2),
shmget(2),
shmop(2),
shm_open(3),
shm_unlink(3),
sem_overview(7)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Alain Portal <
http://manpagesfr.free.fr/> (2008).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande «
man -L C
<section> <page_de_man> ».