XCI. Funciones Semáforo y de memoria compartida

Este módulo provee funciones semáforo utilizando los semaforos de System V . Los semáforos pueden usarse para obtener acceso exclusivo a algun recurso del ordenador en cuestión , o para limitar el número de procesos que pueden usar un recurso simultaneamente .

Este módulo provee tambien funciones de memoria compartida , usando el compartimiento de memoria de System V . La memoria compartida puede usarse para proveer acceso a variables globales . Los diferentes demonios http e incluso otros programas , ( como Perl , C , .. . ) son capaces de utilizar estos datos , para intercambiarlos de modo global . Recuerde que , la memoria compartida NO es segura para los accesos simultáneos . Use los semáforos para obtener sincronismo .

Tabla 1 . Limites de la memoria compartida del SO Unix

máximo tamaño de memoria compartida , normalmente 131072 bytes
minimo tamaño de memoria compartida , por lo general 1 byte
máxima cantidad de segmentos de memoria compartida , normalmente 100
máximo de memoria compartida por proceso , normalmente 6


Tabla de contenidos
ftok -- Convert a pathname and a project identifier to a System V IPC key
msg_get_queue -- Create or attach to a message queue
msg_receive -- Receive a message from a message queue
msg_remove_queue -- Destroy a message queue
msg_send -- Send a message to a message queue
msg_set_queue -- Set information in the message queue data structure
msg_stat_queue -- Returns information from the message queue data structure
sem_acquire -- adquiere un semáforo, lo toma para sí
sem_get -- obtiene la identificacion de un semáforo (semaphore id)
sem_release -- release a semaphore
sem_remove -- Remove a semaphore
shm_attach -- Crea o abre un segmento de memoria compartida
shm_detach -- Finaliza conexión con un segmento de memoria compartida
shm_get_var -- Devuelve una variable de la memoria compartida
shm_put_var -- Inserta o actualiza una variable en la memoria compartida
shm_remove_var -- Elimina una variable de la memoria compartida
shm_remove -- Elimina memoria compartida del sistma Unix