Carga y montaje

25
CARGA Y MONTAJE

Transcript of Carga y montaje

Page 1: Carga y montaje

CARGA Y MONTAJE

Page 2: Carga y montaje

El primer paso para la creación de un proceso activo consiste en cargar un programa en memoria principal y crear una imagen del proceso

Page 3: Carga y montaje

Las aplicaciones están formadas por una serie de módulos compilados En forma de código objeto que se montan juntos para resolver las referencias entre los módulos, al mismo tiempo se resuelven referencias a rutinas de biblioteca

Las rutinas de biblioteca pueden estar incorporadas en el programa o ser referenciadas como código compartido que debe suministrar el S.o en el momento de la ejecución

Page 4: Carga y montaje

CARGA

CARGA ABSOLUTA

CARGA REUBICABLE

CARGA DINAMICA EN TIEMPODE EJECUCCION

Page 5: Carga y montaje

CARGA ABSOLUTA

Necesita que el modulo de carga ocupe siempre la misma posición de memoria principal

La asignación de direcciones especificas a las referencias de memoria de un programa puede ser realizada tanto por el programador como en tiempo de compilación ensamblaje

Page 6: Carga y montaje

CARGA REUBICABLE

Se necesita un modulo de carga que pueda ubicarse en cualquier posición de la memoria principal

El ensamblador o compilador no genera direcciones reales de memoria principal ( Direcciones absolutas) sino direcciones relativas de algún punto conocido tal como el comienzo del programa

Page 7: Carga y montaje

Con toda la memoria esta expresada en forma relativa, situar los módulos en la posición deseada se convierte en una tarea sencilla. Si al módulo va a ser cargado comenzando con la posición x, el cargador simplemente generará x a cada referencia a la memoria a medida que carga él módulo en la memoria.

Page 8: Carga y montaje

CARGA DINAMICA EN TIEMPO DE EJECUCCION

El cálculo de direcciones dinámicas proporciona una completa flexibilidad.

Un programa puede cargarse en cualquier región de la Memoria Principal.

Page 9: Carga y montaje

La ejecución de programa puede interrumpirse y el programa ser descargado de la Memoria Principal para ser posteriormente cargado en una posición diferente.La dirección absoluta no se calcula hasta que se ejecuta una instrucción

Page 10: Carga y montaje

MONTAJE

Page 11: Carga y montaje

Consiste en tomar como entrada una colección de módulos objetos y generar un módulo de “carga” que:Contenga módulos de programas y de datos para el cargador.

Page 12: Carga y montaje

El montador crea un único módulo de carga que es concatenación de todos módulos objetos. Además cada referencia interna de un módulo debe cambiarse de dirección simbólica a una posición dentro del módulo de carga total.

Page 13: Carga y montaje

EDITOR DE MONTAJE

El montaje de direcciones dependerá: Del tipo de módulo de carga y de cuando se produzca el montaje.

Page 14: Carga y montaje

Si se desea un módulo de carga reubicable, el montaje se realiza de la siguiente manera:

Cada módulo objeto compilado se crea con referencias relativas al comienzo del módulo.

Los módulos se unen en u único módulo de carga reubicable, junto con las referencias relativas al origen del módulo de carga.

Page 15: Carga y montaje

Este módulo reubicable puede usarse como una para una carga reubicable o para una dinámica durante la ejecución. Los montadores que crean módulos de carga reubicable se conocen como editores de montajes.

Page 16: Carga y montaje

MONTADOR DINAMICO

Como en la carga es posible aplazar algunas funciones de montajes. Se emplea para resaltar el montaje de algunos módulos externos hasta que él módulo de carga se haya creado.

Page 17: Carga y montaje

Así, él módulo de carga contiene referencias no resueltas que pueden resolverse tanto a la carga como en la ejecución

Page 18: Carga y montaje

_ El módulo de carga se trae a la Memoria Principal._ Cualquier referencia a un módulo externo hace que el cargador lo busque, lo cargue y modifique las referencias a direcciones.

“MONTAJE DINAMICO EN TIEMPO DE CARGA”

Page 19: Carga y montaje

VENTAJAS

Resulta fácil actualizar versiones del módulo externo. En el estático cualquier cambio en el soporte requerirá volver a montar él módulo de aplicación por completo. Tener el código de destino en un archivo

de montaje dinámico prepara el terreno para compartir automáticamente código. El Sistema Operativo puede darse cuenta de que más de una aplicación esta empleando el mismo código de destino.

Page 20: Carga y montaje

Permite usarse para cargar una única copia del código en ves de tener que cargar una copia para cada aplicación.Resulta fácil ampliar la funcionalidad de un S. O. muy empleado.

Un productor puede proponer una nueva función útil para varias aplicaciones y empaquetarla como un módulo de montaje dinámico.

Page 21: Carga y montaje

“MONTAJE DINAMICO EN TIEMPO DE EJECUCIÓN

Page 22: Carga y montaje

Parte del montaje se pospone hasta el momento de la ejecución, las referencias externas permanecen en el programa cargado cuando se realiza una llamada a un módulo ausente el Sistema Operativo localiza, carga y lo monta en él módulo llamador.

Page 23: Carga y montaje

La estructura del módulo es estática y permanece sin cambios durante la ejecución del proceso y de una ejecución a la siguiente.Por el contrario en algunos casos no es posible determinar antes que módulos objetos harán falta. La naturaleza de la transacción dictamina que módulos de programas se necesitan y estos se cargan de la forma apropiada y se montan con el programa principal.

Page 24: Carga y montaje

VENTAJAS

La ventaja de emplear un montador dinámico es que no hace falta reservar memoria para las unidades de programa a menos que se hagan referencias a los mismos. Esta capacidad se emplea como soporte para los sistemas de segmentación.

Page 25: Carga y montaje

BIBLIOGRAFIA

Libro “sistemas operativos” Stallings William