En el de informática, una máquina para hacer chorizos o el editor de enlaces del es un programa que toma uno o más se opone generado por los recopiladores y los monta en un programa ejecutable del solo .

En ambientes de la unidad central de IBM tales como OS/360 este programa se conoce como redactor de acoplamiento del .

(En las variantes de Unix el cargador del del término es de uso frecuente como sinónimo para la máquina para hacer chorizos . Porque este uso empaña la distinción entre el proceso de tiempo de compilación y el proceso Run-time, este artículo utilizará el que liga para el cargamento anterior y del para estes 3ultimo. Sin embargo, en algunos sistemas operativos el mismo programa maneja los trabajos del lazo y cargando un programa, ver el de lazo dinámico del .)

Los objetos son módulos de programa que contienen el código automático y la información para la máquina para hacer chorizos. Esta información viene principalmente bajo la forma de definiciones del símbolo del, que vienen en dos variedades:
el

definido o los símbolos exportados de es las funciones o las variables que están presentes en el módulo representado por el objeto, y que deben estar disponibles para uso de otros módulos.
El indefinido o los símbolos importados de es las funciones o las variables que son llamadas o referidas por este objeto, pero no no interno definido.

En fin, el trabajo de la máquina para hacer chorizos es resolver referencias a los símbolos indefinidos descubriendo que el otro objeto define un símbolo en la pregunta, y substituyendo placeholders por la dirección del símbolo.

Las máquinas para hacer chorizos pueden tomar objetos de una colección llamada una biblioteca . Algunas máquinas para hacer chorizos no incluyen la biblioteca entera en la salida; incluyen solamente sus símbolos que se refieran de otros ficheros objeto o bibliotecas. Las bibliotecas para los propósitos diversos existen, y uno o más bibliotecas de sistema se ligan generalmente adentro por abandono.

La máquina para hacer chorizos también toma el cuidado de arreglar los objetos en el espacio de dirección de un programa . Esto puede implicar el que vuelve a poner el código de que asume una dirección baja específico a otra base. Puesto que un recopilador sabe raramente dónde residirá un objeto, asume a menudo una localización baja fija (por ejemplo, cero). Volver a poner el código automático puede implicar redefinir de saltos, de cargas y de almacenes absolutos.

La salida ejecutable por la máquina para hacer chorizos puede necesitar otro paso de la relocalización cuando finalmente se carga en memoria (momentos antes de la ejecución). En de ofrecimiento del hardware la memoria virtual esto se omite generalmente, though— cada programa se pone en su propio espacio de dirección, tan allí no es ningún conflicto incluso si toda la carga de programas en la misma dirección baja.

Lazo dinámico

Los ambientes modernos del sistema operativo no prohiben a de lazo dinámico, de que son la posposición de la resolución de algunos símbolos indefinidos hasta que se funcione con un programa. Eso significa que el ejecutable todavía contiene símbolos indefinidos, más una lista de objetos o de bibliotecas que proporcionen las definiciones para éstos. La carga del programa cargará estos objetos/bibliotecas también, y realiza un lazo final.

Este acercamiento ofrece dos ventajas:
Necesidad de uso frecuente de las bibliotecas (por ejemplo las bibliotecas de sistema estándar) de ser almacenado en solamente una localización, no duplicada en cada solo binario.
Si un error en una función de biblioteca es corregido substituyendo la biblioteca, todos los programas usar ella se beneficiarán dinámicamente de la corrección después de recomenzarlas. Los programas que incluyeron esta función ligando de los parásitos atmosféricos tendrían que ser reconectados primero.

Relajación

Pues el recopilador no tiene ninguna información sobre la disposición de objetos en la salida final, no puede aprovecharse de instrucciones más cortas o más eficientes que pongan un requisito en la dirección de otro objeto. Por ejemplo, una instrucción de salto puede referirse a una dirección absoluta o a una compensación de la localización actual, y la compensación se podría expresar con diversas longitudes dependiendo de la distancia a la blanco. Generando la instrucción más conservadora (generalmente la variante relativa o absoluta más grande, dependiendo de la plataforma) y agregando indirectas de la relajación del, es posible substituir instrucciones más cortas o más eficientes durante el acoplamiento final. Se ha leído este paso se puede realizar solamente después de todos los objetos de la entrada y las direcciones temporales asignadas; el paso de la relajación reasigna posteriormente las direcciones, que pueden alternadamente permitir que ocurran más relajaciones. Las secuencias substituidas son generalmente más cortas, que permite que este proceso converja siempre en la solución más óptima dada una pedido fija de objetos; en caso contrario, las relajaciones pueden estar en conflicto, y la máquina para hacer chorizos necesita pesar las ventajas de cualquier opción.

Ver también

Biblioteca dinámica
Biblioteca
Decoración conocida
Fichero objeto
Relocalización
Tabla de la relocalización
Biblioteca estática
Prelinking

.

  • Zenithic
  • Cocos (Keeling) Islands Airport
    Random links:El municipio deslizadizo de la roca, condado del mayordomo, Pennsylvania | Incursión de Doolittle | Steve Israel | Proyector en Nilsson | Escuela del tráfico y de la vigilancia móvil

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">