sys/shm.h

Utilizar zonas de memoria compartida en Linux mediante WSL desde PowerShell

Programa que crea la zona de memoria compartida y almacena un valor

Zona de memoria creada Programa que lee un valor en la zona de memoria compartida

shmctl (System Call)

NAME shmctl – XSI shared memory control operations SYNOPSIS

DESCRIPTION The shmctl() function operates on XSI shared memory (see the Base Definitions volume of IEEE Std 1003.1-2001, Section 3.340, Shared Memory Object). It is unspecified whether this function interoperates with the realtime interprocess communication facilities defined in Realtime. The shmctl() function provides a variety of shared memory control operations as specified by cmd. The following values for cmd are available: IPC_STAT Place the current value of each member of the shmid_ds data structure associated with shmid into the structure pointed to by buf. The contents of the structure are […]

shmat (System Call)

NAME shmat – XSI shared memory attach operation SYNOPSIS

DESCRIPTION The shmat() function operates on XSI shared memory (see the Base Definitions volume of IEEE Std 1003.1-2001, Section 3.340, Shared Memory Object). It is unspecified whether this function interoperates with the realtime interprocess communication facilities defined in Realtime. The shmat() function attaches the shared memory segment associated with the shared memory identifier specified by shmid to the address space of the calling process. The segment is attached at the address specified by one of the following criteria: If shmaddr is a null pointer, the segment is attached at the […]

shmget (System Call)

NAME shmget – get an XSI shared memory segment SYNOPSIS

DESCRIPTION The shmget() function operates on XSI shared memory (see the Base Definitions volume of IEEE Std 1003.1-2001, Section 3.340, Shared Memory Object). It is unspecified whether this function interoperates with the realtime interprocess communication facilities defined in Realtime. The shmget() function shall return the shared memory identifier associated with key. A shared memory identifier, associated data structure, and shared memory segment of at least size bytes (see <sys/shm.h>) are created for key if one of the following is true: The argument key is equal to IPC_PRIVATE. The argument […]

Uso de las funciones ftok(), shmget(), shmat() y shmctl() (ejemplo)

Crear los programas necesarios para resolver la siguiente situación de forma controlada: un programa padre crea una zona de memoria, escribe un valor en dicha zona de memoria y desde un lector se lee el contenido escrito en la zona de memoria. Padre

Lector

 

Uso de las funciones ftok(), shmget(), shmat() y shmctl()

Una zona de memoria puede ser compartida por más de un proceso. Esta es la forma de comunicación más rápida entre procesos. La memoria compartida se crea por un proceso mediante una llamada al sistema, la zona que se reserva en memoria no está en el espacio de direcciones del proceso, es una zona de memoria gestionada por el sistema operativo. Después, otros procesos a los que se les dé permiso para acceder a esa zona de memoria, podrán también leer o escribir de ella. Para utilizar las memorias compartidas existen una serie de llamadas al sistema. Algunas de las funciones útiles […]