Software De Sistemas

Páginas: 19 (4699 palabras) Publicado: 30 de septiembre de 2011
Ligadores y Cargadores Algunos conceptos generales Antes de entrar de lleno al tema, vamos a definir los siguientes conceptos: i) Cargar un programa: Copiar un programa de memoria secundaria a memoria principal de manera que quede listo para su ejecución. 1. En algunos casos sólo consiste en copiar de disco a RAM 2. En otros incluye asignar memoria, fijar bits de protección o arreglos en el mapade la memoria virtual. ii) Relocalización: Los compiladores y ensambladores normalmente generan programas cuyo direccionamiento inicia en 0 (cero). Si el programa se divide en varios módulos, cada módulo debe ser cargado en direcciones que no se traslapen entre sí. La relocalización es el proceso de asignar direcciones de carga a cada módulo del programa, ajustando el código y los datos en elprograma para reflejar esta asignación de direcciones. iii) Resolución de símbolos: En un programa hecho de varios módulos, las referencias a los diferentes subprogramas son hechas de manera símbolica. Un ligador resuelve las referencias a estos símbolos parchando el código objeto para que las llamadas a los subprogramas se refieran a la localización actual de cada subprograma. Aunque hay unconsiderable traslape entre estas funciones, es conveniente definir al programa que hace la carga como cargador y al que resuelve los símbolos como ligador. Cualquiera de ellos puede hacer la relocalización, y han existido ligadores-cargadores que hacen las 3 funciones. Ligadores El ligado es un proceso de 2 pasadas: El ligador recibe como entrada un conjunto de archivos objeto, librerías y, tal vez,archivos de comandos, y genera como resultado un archivo objeto de salida, y opcionalmente información adicional, como un mapa de carga o un archivo con símbolos para la depuración (Véa la Figura 1). Cada archivo objeto de entrada contiene un conjunto de secciones de código o datos que deben colocarse en el archivo de salida. Cada archivo de entrada contiene al menos una tabla de símbolos. Algunossímbolos son exportados, definidos dentro del archivo para ser usados en otros archivos objeto, otros símbolos son importados, usados en este archivo pero definidos en otros archivos. En la primera pasada, el ligador rastrea los archivos de entrada para: i) Encontrar los tamaños de los segmentos. ii) Crear una tabla de secciones, donde lista todos las secciones encontradas en los archivos de entrada.iii) Crear una tabla de símbolos con todos los símbolos importados y exportados. Usando estas tablas, el ligador asigna direcciones numéricas a los símbolos, determina el tamaño y localización de las secciones en el espacio de direccionamiento de salida y determina donde colocará cada uno de ellos en el archivo de salida. En la segunda pasada, lee y relocaliza los códigos objeto, sustituyendo lasreferencias simbólicas por sus referencias numéricas y ajusta las direcciones en el código y los datos para reflejar las direcciones relocalizadas, escribe el código relocalizado al archivo de salida y genera un encabezado con información sobre los segmentos relocalizados y la tabla de símbolos. En algunos casos, el ligador también agrega código o datos al archivo de salida, que normalmente seutiliza para la llamada a precedimientos en el caso de ligado dinámico o traslapes (overlays), o un arreglo de apuntadores a las rutinas de inicialización que deben ser llamadas por el programa al momento de su arranque. El archivo de salida también puede contener información útil para otros programas que trabajarán con el archivo objeto de salida, por ejemplo símbolos y números de línea para ladepuración.

El ligador también recibe como entradas archivos de librerías, que no son más que colecciones de archivos objeto. Después del proceso de ligado de los archivos regulares de entrada, si algún símbolo importado permanece sin definir, el ligador recorre la(s) librería(s) e incluye los archivos que exporten los símbolos indefinidos. En el caso de las librerías compartidas, el ligador...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistemas de software
  • Software De Sistemas
  • Software de sistema
  • Software De Sistemas
  • software de sistemas
  • Software de sistema
  • que es el software de sistema
  • Software de sistema

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS