Memória compartilhada permite que os processos que não estão relacionados a partilhar o mesmo espaço de endereço. O programador precisa para sincronizar o acesso a memória partilhada , de modo que um processo não começar a ler a memória antes de outro processo ter terminado de escrever para a memória . Semaphore funções são semelhantes às chamadas de função de memória partilhada . Funções de memória compartilhada pode ser usado para criar, permitir o acesso a e retire a memória compartilhada. Instruções
1
Criar memória compartilhada usando o seguinte chamada de função :
int shmget ( key_t key_name , size_t shmem_size , int shmemflag );
incluir arquivos sys /shm.h , sys /types.h e sys /ipc.h
2
Fixe a memória compartilhada para um espaço de endereço e permitir o acesso a ele com a seguinte chamada de função : .
void * shmaat (int shmem_id , const void * shmem_addr , int shmemflag );
3
Retire a memória compartilhada do processo com a seguinte chamada de função :
int shmctl (int shmem_id , int cmd , struct shmemid_ds * buf );
4
Definir a estrutura shmemid_ds com pelo menos três membros, incluindo shmem_perm.uid , shmem_perm.gid e shmem_perm.mode
< . br>