martes, 18 de mayo de 2010

Unidad IV Ligadores

1.- ¿Que son los ligadores?

Es un programa que enlaza todos los programas o módulos obteniendo lo que denominamos programa ejecutable ala ves enlaza distintos módulos o programas que poseen subprogramas. Además de incorporar las denominadas rutinas de librerías en caso de solicitarlas el propio programa.

2.- ¿Cuales son las principales funciones de un ligador?

Enlazar código intermedio compilado independientemente en un solo módulo de carga resolviendo las diferencias entre Tokens.
Incorpora las denominadas rutinas de librerías en caso de solicitarlas el propio programa.

Su función es reducir procedimientos traducidos por separado y enlazarlos para que se ejecuten como una unidad llamada programa binario ejecutable.

3.- ¿Cuales son los tipos de ligadores?

Editores de ligado.- La diferencia fundamental entre un editor de ligado y un cargador ligador es: Primero se ensambla o compila el programa fuente, produciendo un programa objeto (que puede contener varias secciones de control diferentes).
Ligador dinámico.- El ligador dinámico ofrece algunas ventajas sobre los otros tipos de ligado. Proporciona la posibilidad de cargar las rutinas sólo cuando y si se necesitan. Si las subrutinas son grandes o tienen muchas referencias externas, se pueden conseguir ahorros considerables de tiempo y espacio de memoria.

4.- ¿Cuales son los ligadores estáticos?

Cuando se utilizan subrutinas en un programa, el código ejecutable de cada una de ellas debe encontrarse en memoria al tiempo de ejecución. Para esto, antes de cargar un programa, debe ligarse su código objeto con los códigos objeto (guardados en uno o más archivos) de cada una de las subrutinas invocadas por él, obteniendo así un programa ejecutable que contiene tanto el código del módulo invocador como el código de los módulos invocados.

5.- ¿Cuales son los ligadores dinámicos?

Ofrece ventajas que el estático no. Proporciona la posibilidad de cargar las rutinas sólo cuando y si se necesitan. SI las subrutinas son grandes o tienen muchas referencias externas, se pueden conseguir ahorros considerables de tiempo y espacio de memoria.
Supongamos que en cualquier ejecución un programa usa sólo pocas de una gran cantidad de subrutinas posibles, pero el número exacto de rutinas necesarias no puede predecirse hasta que el programa examina su entrada.

6.- ¿Que son los Ligadores de bibliotecas de códigos de objetos?

Se le denomina estático ya que se realiza antes de ejecutar el programa

Estático: Cuando se utilizan subrutinas en un programa, el código ejecutable de cada una de ellas debe encontrarse en memoria al tiempo de ejecución. Para esto, antes de cargar un programa, debe ligarse su código objeto con los códigos objeto (guardados en uno o más archivos) de cada una de las subrutinas invocadas por él, obteniendo así un programa ejecutable que contiene tanto el código del módulo invocador como el código de los módulos invocados.

Dinámico: Ofrece ventajas que el estático no. Proporciona la posibilidad de cargar las rutinas sólo cuando y si se necesitan. SI las subrutinas son grandes o tienen muchas referencias externas, se pueden conseguir ahorros considerables de tiempo y espacio de memoria.




7.- ¿Que es un cargador?

Programa que coloca en la memoria para su ejecución, el programa guardado en algún dispositivo de almacenamiento secundario, consiste en un juego de instrucciones que permiten al dispositivo de entrada (teclado ó unidad de cinta) asignar la dirección de inicio de la memoria y asegurar que el computador leerá el programa y lo cargara byte a byte.

Programa del sistema que realiza la función de carga pero muchos cargadores también incluyen relocalización y ligado. Algunos sistemas tienen un ligador (ó editor de ligado) para realizar las operaciones de enlace.

8.- ¿Cuales son las funciones de un cargador?


Coloca un programa objeto en la memoria e iniciar su ejecución.
Lleva la carga al programa objeto a la memoria para su ejecución.
Modifica el programa objeto de forma que puede cargarse en una dirección diferente de la localidad especificada originalmente.
Combina dos o mas programas objeto independientes y proporciona la información necesaria para realizar diferencias entre ellos.

9.- ¿Tipos de cargadores?

Cargadores Bootstrap: situado en la memoria del computador, cargará el programa de aplicación y los datos. Pero, previamente, se ha debido cargar el cargador en la memoria.
Cargadores iniciales: indican a la computadora la forma de poner, dentro de la memoria principal unos datos que están guardados en un periférico de memoria externa (cinta, disco, etc.). Sirven para cargar en la memoria pequeños programas que inician el funcionamiento de una computadora.
Cargadores absolutos: el programa cargador pone en memoria las instrucciones guardadas en sistemas externos. Independientemente de que sea un cargador inicial, o no sin dichas instrucciones se almacenan siempre en el mismo espacio de memoria (cada vez que se ejecuta el programa cargador) se dice que es un cargador absoluto.
Cargadores con reubicación: en ocasiones un mismo programa necesita ejecutarse en diferentes posiciones de memoria. Para esto la traducción debe estar realizada en forma adecuada, es decir no utilizando referencias absolutas a direcciones en memoria, sino referencias a una dirección especial llamada de reubicación.
Cargadores ligadores: conocidos también como linker. Un linker se un término en inglés que significa montar.
Montar un programa consiste en añadir al programa objeto obtenido a la traducción las rutinas externas a las que hace referencia dicho programa.

10.- ¿Cuales son los cargadores de carga absoluta y relocalizable?

Carga absoluta: consiste en que con la máquina vacía ó inactiva no hay necesidad de hacer relocalización de programas tan solo se puede especificar la dirección absoluta del programa que se cargue en primer lugar.
En la mayoría de los casos este programa es el sistema operativo que ocupa un lugar predefinido en la memoria. Dicho de otra manera es que se necesitan algunos medios para realizar las funciones del cargador absoluto. Una opción es que el operador introduzca en la memoria el código objeto de un cargador absoluto, utilizando los interruptores en la consola del computador.

Nota: Algunos computadores requerían que el operador hiciera exactamente eso. Sin embargo este proceso es demasiado incomodo y propenso a errores para ser una buena solución del problema.
Relocalizable: Los cargadores que permiten la relocalización de programas se denominan cargadores relocalizadores o relativos.
Nota: Algunos computadores proporcionan una posibilidad de relocalización por hardware que elimina en parte la necesidad de que el cargador efectúe la relocalización de programas.

11.- ¿Cuales son los cargadores estáticos y dinámicos?

Estáticos: estos son utilizados para cargar de manera estática o sin tener algún movimiento cuando se realiza el proceso de la información del ejecutable.
La estructura se coloca estática en memoria. Solo que aquí no se puede intercambiar cada unos de los módulos en memoria conforme se requieran
Dinámicos: El cargador dinámico se utiliza para cargar dinámicamente bibliotecas compartidas durante el inicio ejecutable.
Es útil cuando no es posible asignar en memoria un programa completo, dicho cargador se basa en el binder para operar de esta forma.
La estructura se coloca dinámicamente en memoria. De esta forma cada módulo se va intercalando en memoria conforme se requiere.


12.- ¿Que entiendes por paso de control al sistema operativo?

Es como un proceso el cual genera de manera estable todo el funcionamiento del sistema operativo en la computadora para que con este el trabajo que realice el usuario sea más rápido y el cual puede cargar y ejecutar los programas que requiera de acuerdo a sus necesidades.

No hay comentarios:

Publicar un comentario