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: 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
|