Tecnología

Inicio

Unix compartido Tutorial de memoria

Unix compartido Tutorial de memoria


La memoria compartida permite que los procesos no relacionados con compartir el mismo espacio de direcciones. El programador tiene que sincronizar el acceso de la memoria compartida de manera que un 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 para llamadas de memoria compartida. funciones de memoria compartida se pueden utilizar para crear, permitir el acceso a y separar de memoria compartida.

Instrucciones

1 Crear memoria compartida utilizando la siguiente llamada de función:

int shmget (key_t nombre_tecla, size_t shmem_size, int shmemflag);

Incluir archivos sys / shm.h, sys / types.h y sys / ipc.h.

2 Una la memoria compartida para un espacio de direcciones y permitir el acceso a la misma con la siguiente llamada de función:

shmaat void (int shmem_id, const shmem_addr vacío, int shmemflag);

3 Separar la memoria compartida del proceso con la siguiente llamada de función:

int shmctl (int shmem_id, int cmd estructura shmemid_ds * buf);

4 Definir la estructura shmemid_ds con al menos tres miembros, incluyendo shmem_perm.uid, shmem_perm.gid y shmem_perm.mode.