Grupo1 Hhh

download Grupo1 Hhh

of 21

  • date post

    28-Jun-2015
  • Category

    Education

  • view

    307
  • download

    2

Embed Size (px)

Transcript of Grupo1 Hhh

  • 1. GRUPO I INTEGRANTES SILVANA VLEZ JENNIFER SAMANIEGO KARINA OJEDA

2. 8.1 Fundamentos

  • La memoria es un componente crucial para la operacin de un sistema informtico moderno. Esta compuesta de una gran matriz de palabras o bytes, cada uno con su propia direccin.
  • La CPU extrae instrucciones de la memoria de acuerdo con el valor de contador de programa.
  • Un ciclo tpico de ejecucin de una instruccin procedera en primer lugar, por ejemplo, a extraer una instruccin de la memoria.

3.

  • La unidad de memoria tan solo ve un flujo de direcciones de la memoria y no saben como se generan las direcciones, ni tampoco para que se utilizan.
  • Por tanto podemos ignorara el como genera el programa las direcciones de memoria; lo que nos interesa es la secuencia de direcciones de memoria generadas por el programa en ejecucin.

4. 8.1.1 Hardware Bsico

  • Las nicas areas a las que la CPU puede acceder directamente son: la memoria principal y los registros integrados dentro del propio procesador.
  • No existe ninguna instruccin que acepte instrucciones de disco, solo instrucciones de maquina que toman como argumentos direcciones de memoria. Por lo tanto todas las instrucciones en ejecuciny los datos utilizados debern almacenarse en uno de los dispositivos de almacenamiento. Si los datos no estn en memoria debern llevarse hasta all antes que la CPU pueda operar con ellos.

5.

  • Se puede acceder a los registros integrados en la CPU en un nico ciclo del reloj del procesador. La mayora de los procesos pueden decodificar instrucciones y realizar operaciones simples con el contenido de los registros a la velocidad de una o mas operaciones por cada tictac del reloj, mientras que en la memoria principala la que se accede mediante transaccinde bus de memoria puede requerir muchos ciclos de reloj del procesadorpara poderse completar, en este caso el procesador necesitaranormalmente detenerse ya que no dispondr de los datos requeridos para completar la instruccin que ejecuta. El remedio consiste en aadir una memoria rpida entre el CPU y la memoria principal.
  • Debemos garantizar una operacin que proteja al SO de los posibles accesos por parte del procesador de los usuarios y que tambin proteja a unos procesos de usuario de otros. Esta proteccin la proporciona el hardware y se implementa de distintas formas.

6.

  • Cada proceso debe disponer de un espacio de memoria separado, por lo tanto debemos separar el rango de direcciones legales a las que el proceso pueda acceder y garantizar que solo acceda a las mismas.
  • Se puede proporcionar esta proteccin utilizando dos registros, una base y un limite.
    • Registro base: almacena la direccion de memoria fisica legal mas pequea.
    • Registro limite: especifica el tamao del rango.
  • Los registros base y limite solo pueden ser cargados por el SO, que utiliza una instruccin privilegiada especial y solo pueden ser ejecutadas en modo kernel
  • Un SO que se ejecuta en modo kernel, tiene acceso no restringido a la memoria del SO como del usuario.

7. 8.1.2 Reasignacin de Direcciones

  • Usualmente u programa reside en un disco en forma de archivo ejecutable binario, para ejecutarse el programa debe ser cargado en memoria y colocado dentro de un proceso. La mayora de los procesos permiten que un proceso de usuario resida en cualquier parte de la memoria fsica.As, aunque el espacio de direcciones de la computadora comience en 00000 la primera direccin del proceso de usuario no tiene que ser 00000.
  • La reasignacin de las instrucciones y los datos a direcciones de memoria puede realizarse en cualquiera de estos pasos:
    • Tiempo de compilacin:
    • Tiempo de carga:
    • Tiempo de ejecucin:

8. Una direccin generada por la CPU se denomina comnmente direccin lgica,mientras que una direccin vista por la unidad de memoria (es decir, la que se carga en el registro de direcciones de memoria de la memoria) se denomina comnmente direccin fsica. Los mtodos de reasignacin en tiempo de compilacin y en tiempo de carga generan direcciones lgicas y fsicas idnticas. Sin embargo, el esquema de reasignacin de direcciones en tiempo de ejecucin hace que las direcciones lgicay fsica difieran.En este caso, usualmente decimos que la direccin lgica es una direccin virtual. El conjunto de todas las direcciones lgicas generadas por un programa es lo que se denomina un espacio de direcciones lgicas; el conjunto de todas las direcciones fsicas correspondientes a estas direcciones lgicas es un espacio de direcciones fsicas.La correspondencia entre direcciones virtuales y fsicas en tiempo de ejecucin es establecida por un dispositivo hardware que se denominaunidad de gestin de memoria (MMU, memory-management unir). 9. Espacios de direcciones lgico y fsico

  • El registro base se denominar ahora registro de reubicacin. El valor contenido en el registro de reubicacin suma a todas las direcciones generadas por un proceso de usuario en el momento de enviarlas a memoria
  • Por ejemplo, si la base se encuentra en la direccin 14000, cualquier intento del usuario de direccionar la posicin de memoria cero se reubicar dinmicamente en la direccin 14000; un acceso a la ubicacin 346 se convertir en la ubicacin 14346. El sistema operativo MS-DOS que se ejecuta sobre la familia de procesadores Intel 80x86 utiliza cuatro registros de reubicacin a la hora de cargar y ejecutar procesos.
  • El programa de usuario nunca ve las direcciones fsicas reales. El programa puede crear un puntero a la ubicacin 346, almacenarlo en memoria, manipularlo y compararlo con otras direcciones, siempre como el nmero 346. Slo cuando se lo utiliza como direccin de memoria (por ejemplo, en una operacin de lectura o escritura indirecta) se producir la reubicacin en relacin con el registro base.

10. Espacios de direcciones lgico y fsico

  • El programa de usuario maneja direcciones lgicas y el hardware de conversin (mapeo) de memoria convierte esas direcciones lgicas en direcciones fsicas.
  • El programa de usuario suministra direcciones lgicas y estas direcciones lgicas deben ser convertidas en direcciones fsicas antes de utilizarlas. El concepto de un espacio de direcciones lgicas que se acopla a un espacio de direcciones fsicas separado resulta crucial para una adecuada gestinde la memoria
  • Carga Dinmica
  • Todo el programa y todos los proceso deben encontrase en memoria fsica para que ese proceso pueda ejecutarse, el tamao de un proceso est limitado por el tamao de la memoria fsica.
  • Para obtener una mejor utilizacin del espacio de memoria, podemos utilizar un mecanismo de carga dinmica Con la carga dinmica, una rutina no se carga hasta que se la invoca todas las rutinas se mantienen en disco en un formato de carga reubicable. Segn este mtodo, el programa principalcarga en la memoria y se ejecuta. Cuando una rutina necesita llamar a otra rutina, la rutina que realiza la invocacin comprueba primero si la otra ya ha sido cargada, si no es as, se invoca el cargador de montaje reubicable para que cargue en memoria la rutina deseada y para las tablas de direcciones del programa con el fin de reflejar este cambio. La ventaja del mecanismo de carga dinmica es que una rutina no utilizada no se carga nunca en memoria. Este mtodo resulta particularmente til cuando se necesitan grandes cantidades de cdigo para gestionar casos que slo ocurren de manera infrecuente, como rutinas de error.

11. Montaje dinmico y bibliotecas compartidas

  • Muestra tambin bibliotecas de montaje dinmico. Algunos sistemas operativosslo permiten el montaje esttico, mediante el cual las bibliotecas de lenguaje del sistema se tratancomo cualquier otro mdulo objeto y son integradas por el cargador dentro de la imagen binara del programa. El concepto de montaje binario es similar al de carga dinmica, aunque el caso lo que se pospone hasta el momento de la ejecucin es el montaje, en lugar de la carga. Esta funcionalidad suele emplearse con las bibliotecas del sistema, como por ejemplo las bibliotecas de subrutinas del lenguaje. Utilizando este mecanismo, cada programa de un sistema deber incluir una copia de su biblioteca de lenguaje (o al menos de las rutinas a las que haga referencia el programa) dentro de la imagen ejecutable. Este requisito hace que se desperdicie tanto espacio de disco como memoria principal.

12.

  • Con el montaje dinmico, se incluye un stub dentro de la imagen binaria para cada referencia a una rutina de biblioteca. El stub es un pequeo fragmento de cdigo que indica cmo localizar la rutina adecuada de biblioteca residente en memoria o cmo cargar la biblioteca si esa rutina no est todava presente. Cuando se ejecuta el stub, ste comprueba si la rutina necesaria ya se encuentra en memoria; si no es as, el programa carga en memoria la rutina. En cualquiera de los casos, el stub se sustituye as mismo por la direccin de la rutina y ejecuta la rutina. As, la siguiente vez que se ejecute ese segmento de cdigo concreto, se ejecutar directamente la rutina de biblioteca, sin tener que realizar de nuevo el montaje dinmico. Con este mecanismo, todos los procesos que utilicen una determinada biblioteca de lenguaje slo necesitan ejecutar una copia del cdigo de la biblioteca.
  • Esta funcionalidad puede ampliarse a las actualizaciones de las bibliotecas de cdigo (como por ejemplo las