@Jorge Alejandro Forero Cardona
CARGA
El cargador
sitúa él módulo de carga en la memoria principal, comenzando en la posición X.
En general, se pueden aplicar tres métodos.
-
Carga
absoluta.
-
Carga
reubicable.
-
Carga
dinámica en tiempo de ejecución.
CARGA ABSOLUTA
La carga
absoluta necesita al módulo de carga ocupe siempre la misma posición en la
memoria principal. La asignación de direcciones a la memoria de un programa la
puede realizar tanto el programador como en compilador o el ensamblador.
CARGAS
REUBICABLES
En
la carga reubicable el ensamblador o el compilador no genera direcciones reales
de Memoria Principal, sino direcciones relativas a algún punto conocido (como
el comienzo de un programa). Al comienzo del módulo de carga se le asigna la
dirección relativa “ 0 ” y todas las demás dentro se expresan con relación al
comienzo del módulo.
CARGA
DINAMICA EN TIEMPO DE EJECUCION
El
cálculo de direcciones dinámicas proporciona una completa flexibilidad. Un
programa puede cargarse en cualquier región de la Memoria Principal.
Mas
tarde, 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.
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. 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.
EDITOR
DE MONTAJE
El
montaje de direcciones dependerá: Del tipo de módulo de carga de cuando se
produzca el 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.
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.
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.
Así,
él módulo de carga contiene referencias no resueltas que pueden resolverse
tanto a la carga como en la ejecución:
“MONTAJE
DINAMICO EN TIEMPO DE CARGA” se da en las siguientes etapas:
·
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.
Existen
ventajas: que podría llamarse carga estática:
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.
“MONTAJE
DINAMICO EN TIEMPO DE EJECUCIÓN”
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.
No hay comentarios:
Publicar un comentario