<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
<!-- English Revision: 421174 -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="mpm.xml.meta">

  <title>M&#243;dulos de MultiProcesamiento (MPMs)</title>

<summary>
<p>Este documento explica que son los M&#243;dulos de
Multiprocesamiento y como los usa Apache.</p>
</summary>

<section id="introduction"><title>Introducci&#243;n</title>

    <p>Apache est&#225; dise&#241;ado para ser un servidor web potente
    y flexible que pueda funcionar en la m&#225;s amplia variedad de
    plataformas y entornos. Las diferentes plataformas y los
    diferentes entornos, hacen que a menudo sean necesarias diferentes
    caracter&#237;sticas o funcionalidades, o que una misma
    caracter&#237;stica o funcionalidad sea implementada de diferente
    manera para obtener una mayor eficiencia. Apache se ha adaptado
    siempre a una gran variedad de entornos a trav&#233;s de su
    dise&#241;o modular. Este dise&#241;o permite a los
    administradores de sitios web elegir que funcionalidades van a ser
    incluidas en el servidor seleccionando que m&#243;dulos se van a
    usar, ya sea al compilar o al ejecutar el servidor.</p>

    <p>Apache 2.0 extiende este dise&#241;o modular hasta las
    funcionalidades m&#225;s b&#225;sicas de un servidor web. El
    servidor viene con una serie de M&#243;dulos de MultiProcesamiento
    que son los responsables de conectar con los puertos de red de la
    m&#225;quina, acceptar las peticiones, y generar los procesos hijo
    que se encargan de servirlas.</p>

    <p>La extensi&#243;n del dise&#241;o modular a este nivel del
    servidor ofrece dos beneficios importantes:</p>

    <ul>
      <li>Apache puede soportar de una forma m&#225;s f&#225;cil y
      eficiente una amplia variedad de sistemas operativos. En
      concreto, la versi&#243;n de Windows de Apache es mucho m&#225;s
      eficiente, porque el m&#243;dulo <module>mpm_winnt</module>
      puede usar funcionalidades nativas de red en lugar de usar la
      capa POSIX como hace Apache 1.3. Este beneficio se extiende
      tambi&#233;n a otros sistemas operativos que implementan sus
      respectivos MPMs.</li>

      <li>El servidor puede personalizarse mejor para las necesidades
      de cada sitio web. Por ejemplo, los sitios web que necesitan
      m&#225;s que nada escalibildad pueden usar un MPM hebrado como
      <module>worker</module>, mientras que los sitios web que
      requieran por encima de otras cosas estabilidad o compatibilidad
      con software antiguo pueden usar
      <module>prefork</module>. Adem&#225;s, se pueden configurar
      funcionalidades especiales como servir diferentes hosts con
      diferentes identificadores de usuario
      (<module>perchild</module>).</li>
    </ul>

    <p>A nivel de usuario, los m&#243;dulos de multiprocesamiento
    (MPMs) son como cualquier otro m&#243;dulo de Apache. La
    diferencia m&#225;s importante es que solo un MPM puede estar
    cargado en el servidor en un determinado momento. La lista de MPMs
    disponibles est&#225; en la <a href="mod/">secci&#243;n de
    &#237;ndice de m&#243;dulos</a>.</p>

</section>

<section id="choosing"><title>C&#243;mo Elegir un MPM</title>

    <p>Los m&#243;dulos de multiprocesamiento que se van a usar
    posteriormente deben elegirse durante el proceso de
    configuraci&#243;n, y deben ser compilados en el servidor. Los
    compiladores son capaces de optimizar muchas funciones si se usan
    hebras, pero solo si se sabe que se est&#225;n usando hebras.</p>

    <p>Para elegir el m&#243;dulo de multiprocesamiento deseado, use
    el argumento <code>--with-mpm= <em>NAME</em></code> con el script
    <program>configure</program>. <em>NAME</em> es el nombre del MPM
    deseado.</p>

    <p>Una vez que el servidor ha sido compilado, es posible
    determinar que m&#243;dulos de multiprocesamiento ha sido elegido
    usando <code>./httpd -l</code>. Este comando lista todos los
    m&#243;dulos compilados en el servidor, incluido en MPM.</p>
</section>

<section id="defaults"><title>MPM por defecto</title>

<p>En la siguiente tabla se muestran los m&#243;dulos de
multiprocesamiento por defecto para varios sistemas operativos.  Estos
ser&#225;n los m&#243;dulos de multiprocesamiento seleccionados si no
se especifica lo contrario al compilar.</p>

<table>
<columnspec><column width=".2"/><column width=".2"/></columnspec>
<tr><td>BeOS</td><td><module>beos</module></td></tr>
<tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
<tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
<tr><td>Unix</td><td><module>prefork</module></td></tr>
<tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
</table>
</section>

</manualpage>

