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