SPM ou Shared Portable Memory est une API permettant d'accéder à des zones de mémoire partagée distantes dans différents processus. Il simplifie la communication interprocessus (IPC) et le partage des structures de données entre les processus.
Avec mémoire portable partagée :
Vous pouvez créer et mapper plusieurs régions de mémoire partagée sans configurer explicitement un nouvel IPC.
L'accès aux régions de mémoire partagée est simple, similaire à l'accès à la mémoire locale et virtuelle.
Il propose une API portable pour diverses architectures et systèmes d'exploitation.
En programmation C, pour travailler avec la mémoire portable partagée :
Incluez le fichier d'en-tête requis :
#include
Pour créer une région de mémoire partagée, utilisez shmget() :
int shmget (clé key_t, taille size_t, int shmflg);
Pour attacher une région de mémoire partagée au processus en cours, utilisez shmat() :
void *shmat(int shmid, void *shmaddr, int shmflg);
Pour détacher une région de mémoire partagée du processus en cours, utilisez shmdt() :
int shmdt(void *shmaddr);
Pour marquer une région de mémoire partagée à supprimer (une fois que tous les processus sont terminés), utilisez shmctl() :
int shmctl(int shmid, int cmd, struct shmid_ds *buf);
Pour des détails complets et des exemples, reportez-vous aux pages de manuel de shmget, shmat, shmdt et shmctl.
|