Junior — Middle
¿Qué mecanismo es responsable de crear segmentos de memoria compartida para procesos?
sobes.tech AI
Respuesta de la IA
El mecanismo responsable de crear segmentos de memoria compartida para procesos se llama Shared Memory (memoria compartida). En sistemas operativos como Unix/Linux, esto se implementa mediante llamadas al sistema, por ejemplo, shmget, shmat, shmdt y shmctl.
La memoria compartida permite que varios procesos compartan un mismo segmento de memoria, lo que acelera significativamente el intercambio de datos en comparación con otros métodos de comunicación entre procesos (IPC).
Ejemplo de uso en C (simplificado):
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
#include <string.h>
int main() {
key_t key = 1234; // clave única
int shmid = shmget(key, 1024, 0666|IPC_CREAT); // creamos un segmento de memoria
char *data = (char*) shmat(shmid, NULL, 0); // conectamos el segmento
strcpy(data, "¡Hola desde la memoria compartida!");
printf("Datos en la memoria compartida: %s\n", data);
shmdt(data); // desconectamos el segmento
// shmctl(shmid, IPC_RMID, NULL); // eliminación del segmento si es necesario
return 0;
}