<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.fileprocess.process.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'book.sem.php',
    1 => 'Semaphore',
    2 => 'S&eacute;maphore, Memoria Compartida e IPC (Comunicaci&oacute;n Inter-Proceso)',
  ),
  'up' => 
  array (
    0 => 'refs.fileprocess.process.php',
    1 => 'Extensiones de control de procesos',
  ),
  'prev' => 
  array (
    0 => 'class.volatile.php',
    1 => 'Volatile',
  ),
  'next' => 
  array (
    0 => 'sem.setup.php',
    1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/sem/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.sem.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.sem" class="book">
 
 <h1 class="title">Sémaphore, Memoria Compartida e IPC (Comunicación Inter-Proceso)</h1>
 

 
 <div id="intro.sem" class="preface">
  <h1 class="title">Introducción</h1>
  <p class="simpara">
   Estos módulos proporcionan una interfaz para las funciones de tipo System V IPC.
   Esto incluye los semáforos, la memoria compartida y el sistema de
   comunicación inter-proceso (IPC).
  </p>
  <p class="simpara">
   Los semáforos pueden ser utilizados para proporcionar acceso exclusivo
   a ciertos recursos de la máquina, o para limitar el
   número de procesos que utilizan al mismo tiempo un recurso.
  </p>
  <p class="para">
   Estos módulos proporcionan también un sistema de memoria compartida,
   que utiliza la memoria compartida System V.
   Esta memoria compartida permite acceder a variables globales.
   Los diferentes demonios httpd e incluso otros programas (tales como Perl,
   C, ...) permiten un intercambio de datos globales. No se olvide que la memoria compartida
   no está protegida contra el acceso simultáneo.
   Será necesario utilizar los semáforos para asegurar la sincronización.
   <table class="doctable table">
    <caption><strong>Límites de la memoria compartida bajo Unix OS</strong></caption>
    
     <tbody class="tbody">
      <tr>
       <td>SHMMAX</td>
       <td>
        Tamaño máximo de memoria compartida,
        por omisión, 131072 bytes.
       </td>
      </tr>

      <tr>
       <td>SHMMIN</td>
       <td>
        Tamaño mínimo de memoria compartida,
        por omisión, 1 byte.
       </td>
      </tr>

      <tr>
       <td>SHMMNI</td>
       <td>
        Número máximo de segmentos de memoria compartida,
        por omisión 100.
       </td>
      </tr>

      <tr>
       <td>SHMSEG</td>
       <td>
        Tamaño máximo de memoria compartida por proceso,
        por omisión 6.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <p class="simpara">
   Estas funciones permiten enviar y recibir mensajes de/para otros procesos.
   Ofrecen una interfaz simple y eficiente para intercambiar datos entre procesos,
   sin necesidad de utilizar otro socket UNIX.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Solamente las funciones de memoria compartida y <span class="function"><a href="function.ftok.php" class="function">ftok()</a></span>
    están disponibles en Windows. Ni los semáforos, ni las funciones de mensaje
    inter-proceso son soportadas en esta plataforma.
   </span>
  </p></blockquote>
 </div>
 

 






 






 






 





 





 






<ul class="chunklist chunklist_book"><li><a href="sem.setup.php">Instalaci&oacute;n/Configuraci&oacute;n</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="sem.installation.php">Instalaci&oacute;n</a></li><li><a href="sem.configuration.php">Configuraci&oacute;n en tiempo de ejecuci&oacute;n</a></li><li><a href="sem.resources.php">Tipos de recursos</a></li></ul></li><li><a href="sem.constants.php">Constantes predefinidas</a></li><li><a href="ref.sem.php">Funciones de Sem&aacute;foro</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.ftok.php">ftok</a> — Convierte una ruta y un identificador de proyecto en una clave System V IPC</li><li><a href="function.msg-get-queue.php">msg_get_queue</a> — Crea o se adhiere a una cola de mensajes</li><li><a href="function.msg-queue-exists.php">msg_queue_exists</a> — Verificar si una cola de mensajes existe</li><li><a href="function.msg-receive.php">msg_receive</a> — Recibe un mensaje desde una cola de mensajes</li><li><a href="function.msg-remove-queue.php">msg_remove_queue</a> — Destruye una cola de mensajes</li><li><a href="function.msg-send.php">msg_send</a> — Env&iacute;a un mensaje a una cola</li><li><a href="function.msg-set-queue.php">msg_set_queue</a> — Modifica informaci&oacute;n en la cola de mensajes</li><li><a href="function.msg-stat-queue.php">msg_stat_queue</a> — Devuelve informaci&oacute;n sobre la cola de mensajes</li><li><a href="function.sem-acquire.php">sem_acquire</a> — Reserva un sem&aacute;foro</li><li><a href="function.sem-get.php">sem_get</a> — Retorna un identificador de sem&aacute;foro</li><li><a href="function.sem-release.php">sem_release</a> — Libera un sem&aacute;foro</li><li><a href="function.sem-remove.php">sem_remove</a> — Destruye un sem&aacute;foro</li><li><a href="function.shm-attach.php">shm_attach</a> — Crea o abre un segmento de memoria compartida</li><li><a href="function.shm-detach.php">shm_detach</a> — Libera un segmento de memoria compartida</li><li><a href="function.shm-get-var.php">shm_get_var</a> — Lee una variable en la memoria compartida</li><li><a href="function.shm-has-var.php">shm_has_var</a> — Verifica si una variable existe en memoria compartida</li><li><a href="function.shm-put-var.php">shm_put_var</a> — Inserta o modifica una variable en la memoria compartida</li><li><a href="function.shm-remove.php">shm_remove</a> — Elimina un segmento de memoria compartida bajo Unix</li><li><a href="function.shm-remove-var.php">shm_remove_var</a> — Elimina una variable de la memoria compartida</li></ul></li><li><a href="class.sysvmessagequeue.php">SysvMessageQueue</a> — La clase SysvMessageQueue</li><li><a href="class.sysvsemaphore.php">SysvSemaphore</a> — La clase SysvSemaphore</li><li><a href="class.sysvsharedmemory.php">SysvSharedMemory</a> — La clase SysvSharedMemory</li></ul></div><?php manual_footer($setup); ?>