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.65 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> ».