Memoria compartida permite que los procesos que no están relacionados a compartir el mismo espacio de direcciones. El programador tiene que sincronizar el acceso de la memoria compartida para que un solo proceso no se inicia la lectura de la memoria antes de que otro proceso ha terminado de escribir a la memoria . Funciones de semáforo son similares a funcionar convocatorias de la memoria compartida. Funciones de memoria compartida se pueden utilizar para crear , permitir el acceso a la memoria compartida y separar . Instrucciones
1
Crear memoria compartida utilizando la siguiente llamada de función :
int shmget ( key_t key_name , shmem_size size_t , int shmemflag ) ;
Incluir archivos sys /. shm.h , sys /types.h y sys /ipc.h
2
Conecte la memoria compartida para un espacio de direcciones y permite el acceso a la misma con la siguiente llamada de función :
< p > void * shmaat (int shmem_id , const void * shmem_addr , int shmemflag ) ;
3
Separe la memoria compartida del proceso con la siguiente llamada de función :
int shmctl ( shmem_id int , int cmd , struct shmemid_ds * buf ) .
4
Definir la estructura shmemid_ds con al menos tres miembros, incluido shmem_perm.uid , shmem_perm.gid y shmem_perm.mode