Linux memoria compartida
sistema de memoria compartida está fuera de consideración la comunicación entre múltiples procesos, y se reservó un bloque de área de memoria. En el directorio /proc /sys /kernel /, un récord compartido limitaciones de memoria, tales como el número máximo de bytes shmmax un área de memoria compartida, número de identificador de área de memoria compartida al máximo todo el sistema de shmmni similares, se puede ajustar de forma manual, pero esto no es recomendable.
En primer lugar, la aplicación
uso de memoria compartida, principalmente en los siguientes API: ftok (), shmget (), shmat (), shmdt () y shmctl ().
1) con ftok () para obtener un número de ID
Descripción :.
en el IPC, a menudo utilizan valor key_t para crear o semáforo abierto , colas de mensajes y memoria compartida.
prototipo de la función:
key_t ftok (const char * nombre de ruta, int proj_id);
Claves:
1) nombre de ruta y un proceso debe existir en el sistema pueden acceder a
2) proj_id es un valor entero entre 1-255, un valor típico es un valor ASCII.
Cuando se ejecuta con éxito, se devolverá un valor key_t, de lo contrario se devuelve -1. Podemos utilizar strerror (Error) para determinar el mensaje de error específico.
teniendo en cuenta las posibles aplicaciones en diferentes aplicaciones huésped pueden ser directamente definir una clave, sin ftok obtenido:
#define IPCKEY 0x344378
2) shmget () se utiliza para abrir /punto a una función de memoria compartida
Descripción:
shmget () se utiliza para obtener el identificador de área de memoria compartida, si la región compartida especificada no existe para crear el área apropiada.
prototipo de la función: int
shmget (clave key_t, tamaño size_t, int shmflg);
key_t clave es el siguiente identificador de memoria compartida. Si se trata de la comunicación entre procesos relación padre-hijo, entonces este identificador se sustituye con IPC_PRIVATE. Si dos procesos no tienen ninguna relación, por lo que () ftok calculada usando un identificador (o su propia definición a) utilizar.
int size es el tamaño de esta memoria.
bandera int es este modo de memoria (modo) así como la identidad permisos.
Modo preferentemente los siguientes valores:
IPC_CREAT Nueva (si se crea ahora devuelve el id de la memoria compartida) usando
IPC_EXCL IPC_CREAT vinculante y, si se devuelve un error si se crea
a continuación, y " Mode " y y " identificador de autoridad y " para y " o y " aplicación, según el tercer parámetro.
tales como: IPC_CREAT
Con Windows durante mucho tiempo, inevitablemente comenzará a perder frescura, por lo que algunas pe
Debido al trabajo y el estudio, debe usar Securecurt para operar Linux (Red Hat Enterprise Linux 5
Primero, habilite temporalmente la tarjeta de red y configure la IP: # ifconfig -a /* Vea todos los
Sobre el modelo de dispositivo de Linux en línea, hay algunas discusiones. Algunas cosas que solía
Cómo modificar Centos yum source
Configuración de la cuota de disco para la base de datos MySQL de Linux
El archivo o la carpeta del espacio del host virtual de Linux no se puede eliminar. Solución
Sistemas de archivos Ext2 y Ext3
Cómo Linux reduce la partición raíz de lvm
Conceptos relacionados de inodo en el sistema de archivos de linux
Las 20 ventajas de Linux y Windows
Consejos para usar la cámara en el sistema operativo Linux
Cómo agregar usuarios en lotes en Linux
Cómo hacer que el programa se ejecute en segundo plano bajo Linux
WiFi compartiendo maestro tutorial
Cómo eliminar la tecla correcta personalizada "
¿Cómo instalar Windows 8 en el disco duro EFI?
El sistema Win8 pasa a la pantalla de inicio 3 métodos
Cómo desactivar el Servicio de parches de actualización automática de Windows
Windows 8 se transferirá a la prueba beta
Cómo hacer que los programas de XP sean compatibles con el sistema Windows 7