IPC_CREAT

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

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 […]