Sistemas y Telecomunicaciones
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


Foro de discusión creado para desarrollar los contenidos Academicos de las materias y temas propuestos de interés para los estudiantes de Sistemas.
 
ÍndiceÍndice  SistemasSistemas  GaleríaGalería  Últimas imágenesÚltimas imágenes  BuscarBuscar  RegistrarseRegistrarse  Conectarse  
Bienvenidos a mis clase desarrolladas, las materias recientemente registradas son Analisis y Diseño de Sistemas Estructurados y Arquitectura Computacional.
No olviden que debn registrase para poder colocar respuestas. Y colocar sus deberes.

 

 Carlos Chalén - Etapas para la ejecución de un programa

Ir abajo 
AutorMensaje
Carlos_Chalen
Novato
Novato



Cantidad de envíos : 12
Puntos : 26
Reputación : 0
Fecha de inscripción : 11/08/2010

Carlos Chalén - Etapas para la ejecución de un programa  Empty
MensajeTema: Carlos Chalén - Etapas para la ejecución de un programa    Carlos Chalén - Etapas para la ejecución de un programa  EmptyMar Nov 09, 2010 10:01 am

1.- Hacer un resumen detallado de cada Etapa.

 Codificación
Se denomina programa máquina (o código) al conjunto de instrucciones máquina que tiene por objeto que la computadora realice una determinada función. Los programas escritos en cualquiera de los lenguajes de programación han de convertirse en programas máquina para poder ser ejecutados por la computadora

 Compilación
Se genera el código máquina correspondiente a cada módulo fuente de la aplicación asignando direcciones a los símbolos definidos en el módulo y resolviendo las referencias a los mismos. As, si a una variable se le asigna una determinada posición de memoria, todas las instrucciones que hagan referencia a esa variable deben especificar dicha dirección. Las referencias a símbolos que no están definidos en el módulo quedan pendientes de resolver hasta la fase de montaje. Como resultado de esta fase se genera modulo objeto por cada archivo fuente

 Ligamento
Consiste en juntar en un mismo espacio de direcciones módulos que han sido compilados por aparte y resolver las referencias externas entre ellos.
El encadenamiento se puede realizar:
Al compilar: por ejemplo al utilizar las directivas de compilación #include en C, o uses en Pascal. En este caso el sistema operativo no se ve directamente involucrado en el proceso pues este es responsabilidad del compilador.

 Carga
La carga consiste en colocar un programa en memoria para que pueda ser ejecutado. Existen diferentes tipos de cargadores:
Compile and go: (compile y execute). Son los utilizados por los compiladores tipo Turbo (Pascal, C, Prolog, etc.), que realizan todas las etapas enumeradas previamente, cuando la compilación se realiza directamente a la memoria. La idea central consiste en que a medida que se va compilando se va escribiendo directamente sobre la memoria el código ejecutable y una vez se termine el proceso, se le da el control al programa compilado para su ejecución.

 Relocalización
Consiste en ajustar las direcciones de un programa al sitio donde fue cargado, para que este pueda ser ejecutado. Este proceso es indispensable para poder tener multiprogramación, puesto que un programa no siempre va a ocupar las mismas posiciones de memoria.

 Ejecución.
Como parte final del proceso de compilación y montaje, se genera un archivo ejecutable que contiene el código máquina del programa. Distintos fabricantes han usado diferentes formatos para este tipo de archivos. En el mundo UNIX, por ejemplo, uno de los formatos más utilizados actualmente denominado Executable and Linkable Format (ELF). A continuación, se presentará de simplificada cómo es el formato típico de un ejecutable.


2. -Hacer un bosquejo grafico del resumen.

Administración de la memoria dentro de un programa para su ejecución en una computadora, todo programa debe pasar por ciertas etapas:
Codificación, compilación, encadenamiento, carga, en la mayoría de los casos la relocalización en la memoria, y ejecución. La forma y el tiempo de realizar estos procesos varían de una computadora a otra.

Muestra de estos procesos en un sistema tradicional.
Figura # 2.
Carlos Chalén - Etapas para la ejecución de un programa  65qq09

El encadenamiento consiste en juntar en un mismo espacio de direcciones los distintos módulos o procedimientos que constituyen el programa y resolver las referencias externas, que son las que hace un modulo a

Supongamos que se tiene el siguiente trozo de programa escrito en lenguaje ensamblador:
Figura # 3.
Carlos Chalén - Etapas para la ejecución de un programa  1zp1xl5

Para su ejecución en la computadora el programa se debe traducir a lenguaje de máquina.
Por ejemplo si el programa fuera cargado en la posición 0, y suponiendo que la variable f y y están en las posiciones 100 y 104 respectivamente, con respecto al comienzo del programa, el programa generado en lenguaje ensamblador sería:
Figura # 4.
Carlos Chalén - Etapas para la ejecución de un programa  315bkox

Sin embargo el programa fuera cargado en la posición 100, el código generado sería: Figura # 5.
Carlos Chalén - Etapas para la ejecución de un programa  Qqseb5

Para resolver el problema anterior, y teniendo en cuenta que en un sistema de multiprogramación es inadmisible que se fije el sitio de carga desde la compilación (o ensamblaje) de un programa, se deben diseñar mecanismos de relocalización adecuados.
Volver arriba Ir abajo
 
Carlos Chalén - Etapas para la ejecución de un programa
Volver arriba 
Página 1 de 1.
 Temas similares
-
» ETAPAS PARA LA EJECUCION DE UN PROGRAMA!!!
» Etapas para la ejecución de un programa
» ETAPAS PARA LA EJECUCION DE UN PROGRAMA
» TALLER 9 ETAPAS PARA LA EJECUCION DE UN PROGRAMA
» MIGUEL BRITO - Etapas para la ejecución de un programa

Permisos de este foro:No puedes responder a temas en este foro.
Sistemas y Telecomunicaciones :: Foro de Sistemas Operativos :: CISC 2010-C2 :: Taller en clase 9 - Etapas para ejecutar un programa-
Cambiar a: