mémoire partagée permet aux processus qui n'ont rien à partager le même espace d'adressage. Le programmateur a besoin pour synchroniser l'accès de la mémoire partagée de telle sorte que l'un processus ne démarre pas la lecture de la mémoire avant un autre processus a fini d'écrire dans la mémoire . Fonctions Sémaphore sont similaires à fonctionner appels à mémoire partagée. Fonctions de mémoire partagée peuvent être utilisés pour créer , permettre l'accès à détacher et à mémoire partagée. Instructions
1
Créer mémoire partagée en utilisant la fonction appel suivant:
int shmget ( key_t key_name , shmem_size size_t , int shmemflag ) ;
Inclure les fichiers sys /. shm.h , sys /types.h et sys /ipc.h
2
Joindre la mémoire partagée pour un espace d'adressage et permettent l'accès à elle avec la fonction appel suivant:
< p > void * shmaat (int shmem_id , const void * shmem_addr , int shmemflag ) ;
3
Détachez la mémoire partagée du processus de l'appel de fonction suivant :
int shmctl (int shmem_id , int cmd , struct shmemid_ds * buf ) ; .
4
définir la structure shmemid_ds avec au moins trois membres, dont shmem_perm.uid , shmem_perm.gid et shmem_perm.mode