SlideShare una empresa de Scribd logo
1 de 25
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
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
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
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
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.
El cálculo de direcciones dinámicas proporciona una
completa flexibilidad.
Un programa puede cargarse en cualquier región
de la Memoria Principal.
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
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.
El montaje de direcciones dependerá: Del tipo de
módulo de carga y 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.
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
_ 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.
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.
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.
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.
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.
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.
Libro “sistemas operativos”
Stallings William

Más contenido relacionado

Similar a Carga y montaje

Presentacion carga y montaje de archivos
Presentacion carga y montaje de archivosPresentacion carga y montaje de archivos
Presentacion carga y montaje de archivosEsteban Arbelaez
 
Presentacion Paginacion Segmentacion Carga Y Montaje 2
Presentacion Paginacion   Segmentacion   Carga Y Montaje 2Presentacion Paginacion   Segmentacion   Carga Y Montaje 2
Presentacion Paginacion Segmentacion Carga Y Montaje 2Luis Guerrero
 
Santiago nicolas nova lever
Santiago nicolas nova leverSantiago nicolas nova lever
Santiago nicolas nova leverdaco307
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadoresperlallamas
 
Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddGustavo Davila
 
Carga, montaje y estructura del hardware
Carga, montaje y estructura del hardwareCarga, montaje y estructura del hardware
Carga, montaje y estructura del hardwareANDREA
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazadorRickyZhengHu
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxVctorEmmanuelEspinoM
 
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...Domitho Ibarra
 
Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Maryfer' Ortega
 
Elementos de la programación de sistemas
Elementos de la programación de sistemasElementos de la programación de sistemas
Elementos de la programación de sistemasJesus Martinez
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...Kareen's Maldonado
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...carolina peña
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Edgar Dueñas
 

Similar a Carga y montaje (20)

Presentacion carga y montaje de archivos
Presentacion carga y montaje de archivosPresentacion carga y montaje de archivos
Presentacion carga y montaje de archivos
 
Carga y montaje
Carga y montajeCarga y montaje
Carga y montaje
 
Presentacion Paginacion Segmentacion Carga Y Montaje 2
Presentacion Paginacion   Segmentacion   Carga Y Montaje 2Presentacion Paginacion   Segmentacion   Carga Y Montaje 2
Presentacion Paginacion Segmentacion Carga Y Montaje 2
 
Santiago nicolas nova lever
Santiago nicolas nova leverSantiago nicolas nova lever
Santiago nicolas nova lever
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadores
 
Cargadores
CargadoresCargadores
Cargadores
 
Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gadd
 
Carga, montaje y estructura del hardware
Carga, montaje y estructura del hardwareCarga, montaje y estructura del hardware
Carga, montaje y estructura del hardware
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
 
Tercera unidad ;3
Tercera unidad ;3Tercera unidad ;3
Tercera unidad ;3
 
Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02
 
Elementos de la programación de sistemas
Elementos de la programación de sistemasElementos de la programación de sistemas
Elementos de la programación de sistemas
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Unidad ad 3
Unidad ad 3Unidad ad 3
Unidad ad 3
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 

Más de cristina880613 (8)

Informe final
Informe finalInforme final
Informe final
 
Carga y montaje
Carga y montajeCarga y montaje
Carga y montaje
 
Graficas de ejemplos
Graficas de ejemplosGraficas de ejemplos
Graficas de ejemplos
 
Metodos de estudio
Metodos de estudioMetodos de estudio
Metodos de estudio
 
Valores
ValoresValores
Valores
 
Valores
ValoresValores
Valores
 
E learning
E learningE learning
E learning
 
E learning
E learningE learning
E learning
 

Carga y montaje

  • 1.
  • 2. 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
  • 3. 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
  • 4.
  • 5. 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
  • 6. 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
  • 7. 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.
  • 8. El cálculo de direcciones dinámicas proporciona una completa flexibilidad. Un programa puede cargarse en cualquier región de la Memoria Principal.
  • 9. 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
  • 10.
  • 11. 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.
  • 12. 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.
  • 13. El montaje de direcciones dependerá: Del tipo de módulo de carga y de cuando se produzca el montaje.
  • 14. 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.
  • 15. 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.
  • 16. 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.
  • 17. Así, él módulo de carga contiene referencias no resueltas que pueden resolverse tanto a la carga como en la ejecución
  • 18. _ 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.
  • 19. 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.
  • 20. 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.
  • 21.
  • 22. 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.
  • 23. 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.
  • 24. 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.