CARGADOR
Es un programa especial, que parte del
sistema operativo que tiene como propósito colocar en la memoria las
instrucciones y datos de un programa o información codificada en lenguaje
maquina, para que entonces la computadora pueda procesarla.
Un cargador es un programa que realiza la
función de carga, pero muchos cargadores también incluyen relocalización y
ligado.
Algunos sistemas tienen un ligador para
realizar operaciones de enlace, y un cargador separado para manejar la
relocalización y la carga. Los procesos de ensamblado y carga están íntimamente
relacionados.
FUNCION
DE UN CARGADOR
Colocar un programa objeto en la memoria e
iniciar su ejecución.
Si tenemos un cargador que no necesita
realizar las funciones de ligado y relocalización de programas, su operación es
muy simple, pues todas las funciones se realizan en un solo paso. Se revisa el
registro de encabezamiento para comprobar si se ha presentado el programa
correcto para la carga ( entrando en la memoria disponible). A medida que se
lee cada registro de texto, el código objeto que contiene pasa a la dirección
de memoria indicada. Cuando se encuentra el registro de fin, el cargador salta
a la dirección especificada para iniciar la ejecución del programa cargado. Un
programa objeto contiene instrucciones traducidas y valores de datos del
programa fuente, y especifica direcciones en memoria donde cargaran estos
elementos.
Las funciones de un cargador son
relativamente sencillas y consisten en extraer información de algún medio
exterior de la memoria ( por ejemplo: CD Discos) y chocarlos en celdas
sucesivas de la memoria a partir de una celda especificada. El cargador realiza
la última etapa del proceso de traducción: cargar el programa en memoria donde
puede ser ejecutado.
Una opción típica del cargador permite la
selección de fuentes alternativas de entrada. Otros mandatos permiten al
usuario eliminar simbolos externos o secciones de control completas.
También es posible cambiar referencias
externas dentro del programa que se esta cargando, la mayoría de los cargadores
permiten al usuario especificar alternativas para búsqueda por medio de una
proposición de tipo LIBRARY.
TIPOS
DE CARGADORES
·
Cargadores Iníciales: 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.
Algunas computadoras
de carácter general no tienen en memoria ningún programa de forma permanente y
cuando se desconectan pierden toda la información de su memoria interna. Al
volverlos a conectar no son capaces de controlar ningún periférico ( teclado,
discos, etc.). esto se hace asi apra sea el usuario el que ponga los programas
que le interese ejecutar.
·
Cargadores Absolutos: como ya se menciono
el programa cargador pone en memoria las instrucciones guardadas en sistemas
externos. Independientemente de que sea un cargador inicial o no, si dichas
instrucciones se almacenan siempre en el mismo espacio de memoria (cada vez que
se ejecuta el programa cargador), se dice que un cargador absoluto.
·
Cargadores con Reubicación: en ocasiones, un
mismo programa necesita ejecutarse en diferentes posiciones de memoria. Para esto
la traducciones debe estar realizada en forma adecuada, es decir, no utilizando
referencias absolutas a direcciones de memoria, sino referencias relativas a
una direcciones especial llamada dirección de reubicación.
El cálculo de las
direcciones reubicables lo realiza el propio cargador a medida que va guardando
las instrucciones en el espacio de memoria que le indique el usuario o el
propio sistema operativo de la maquina.
A los cargadores que
permiten estas operaciones se les denominan cargadores con reubicación.
·
Cargadores Ligadores: conocidos también
por su término ingles LINK editor o simplemente LINKER, es muy común también
referirse a el por la castellanización del nombre LINCADOR. A la acción de
montar se le llama asimismo LINCAR.
Montar un programa
consiste en añadir al programa objeto obtenido en la traducción las rutinas
externas a las que hace dichas referencias y las rutinas deben estar a su vez
en lenguaje maquina guardadas en algún elemento accesible por el montador.
Generalmente, dichas rutinas se encuentran guardadas en un fichero especial al
que suele denominarse librería, porque están almacenadas todas las rutinas
externas susceptibles de ser utilizadas por los diferentes programas del
usuario. Allí va el programa ligador cuando está realizando el montaje de un
programa a buscarlas y las adjunta al programa objeto.
·
Cargadores BOOTSTRAP: el programa
cargador, una vez situado en la memoria del computador, cargara el programa de
aplicación y los datos. Pero, previamente, se ha debido cargar el cargador en
la memoria y esto se puede realizar por uno de los métodos siguientes:
Entrada manual:
mediante el teclado, el usuario teclea en la maquina el cargador bootstrap.
Después de esto, el cargador se carga a si mismo en la memoria del computador.
A partir de este momento, es el cargador el encargado de cargar el programa de
aplicación en la memoria.
Entrada por ROM: es
posible tener las instrucciones de inicialización almacenadas permanentemente
en alguna porción de la ROM, en lugar de introducirlas manualmente por teclado
o por el panel frontal. Cuando se requiere el programa de bootstrap, el
operador simplemente dirige al computador mediante los conmutadores del panel,
a ejecutar las instrucciones memorizadas en ROM: al estar el programa almacenado
en ROM se elimina también la posibilidad de borrados accidentales.
·
Cargadores Absolutos: es un programa que
carga cada instrucción del programa objeto en una posición fija y
preestablecida. Por tanto, cada instrucción tiene una dirección absoluta. El
cargador absoluto lee simplemente la línea de código objeto que contiene la
dirección de inicio de las instrucciones y datos, y carga las palabras (o
bytes) sucesivas en posiciones de memoria sucesivas.
El cargador absoluto
tiene un serio inconveniente cuando se utiliza en sistemas computadores
grandes.
Esto significa que
los programas y datos se deben almacenar cada vez en posiciones de memoria
distintas. Si se utilizan cargadores absolutos, el programa objeto se tendrá
que modificar para que refleje la nueva posición de inicio de memoria. Esta es
una actividad larga y sujeta a errores. En tales situaciones, se utilizan
cargadores relocatables.
Los cargadores
absolutos están diseñados generalmente para verificar cada instrucción que
leen. Si se detecta una instrucción ilegal, se interrumpe el proceso de carga.
·
Cargadores
Relocatables:
este cargador evita el principal inconveniente de cargador absoluto. El
cargador relocatable es un programa mas sofisticado, tiene las características
del cargador absoluto, y además permite al usuario seleccionar y especificar
las posiciones de memoria en las que se debe almacenar las palabras de
instrucciones y datos.
De esta forma, el
mismo programa se puede cargar en distintas zonas de la memoria sin necesidad
de reensamblarlo o recompilarlo. Durante el ensamblado o compilación del
programa objeto, este empieza con la dirección. Las sucesivas instrucciones
quedan asignadas a posiciones de memoria consecutivas. No obstante, las
verdaderas posiciones de memoria en las que se está almacenando el programa.
Video Sobre Cargador:
