Apuntes de clase 27/04/10

Vinculacion de las instrucciones y los datos a la memoria

Estadios:
  • Tiempo de compilacion
  • Tiempo de carga
  • Tiempo de ejecución
Overlays (superposiciones)
Ya no es necesario que el programa sea de menor tamaño al de la memoria, el overlays permite que se cargen instrucciones parciales y secuenciales, pudiendo cargar la mitad de un programa y despues la segunda mitad.

Generalmente la memoria principal tiene dos particiones:
  • Para el sistema operativo residente
  • Los procesos de los usurios

Sistema de asignacion de multiples particiones fisicas:

Este esquema realiza al iniciar el SO donde se reservava el espacio en memoria para el SO y el resto se subdivida en particiones. Si un programa no cabe en una particion al incio se configurarian unas particiones mas grandes. El mas grave problema con este sistema surge cuando se cargan programas pequeños en particiones grandes, considerando una gran ineficiencia.

Para la proteccion de memoria se utilizada registro base y registro limite

Asignacion con particiones variables

Las particiones ahora se crean al momento de cargar el programa, cuando necesito ejecutarlo. El problema de este metodo es que requiere ajustar los huecos de los programas terminados para asignarloa a otros programas, para esto se crearon estrategias de ajuste, estas son:

  • Mejor ajuste: el hueco con menos desperdicio.
  • primer ajuste: el primer hueco
  • peor ajuste: el ultimo hueco que encontraba.
  • siguiente ajuste: el primer hueco que encuentre no se usa, solo el siguiente. (probabilidad)
  • Buddy: trabaja con un sistema de particiones con potencias de 2, se va partiendo la memeria en bloques, la mitad del que encuentre donde quepa el programa, si hay "desperdicio", este tambien queda disponible para ser repartido.

Almacenamiento virtual:

un proceso puede intercambiarse temporalmente de memoria a un almacenamiento de respaldo y luego puede ser retornado hacia la memoria para continuar su ejecucion.

el almacenamiento de respaldo se hace en el disco,que debe ser rapido y poseer el espacio suficiente para almacenarlo.

Para su funcionamiento requiere:

  • el procesador utiliza y genera direcciones virtuales.
  • parte del mapa de memoria (virtual) esta en disco (swap) y parte en memoria principal
  • la MMU traduce las direcciones virtuales en fisicas
  • La MMU produce un fallo de pagina cuando la direccion no esta en memoria principal
  • El SO trata el fallo de pagina, haciendo un transverse entre la memoria principal y el area de intercambio.

Un metodo de utilizacion de memoria consiste en separarar la memoria en marcos de pagina con tamaños potencias de 2 entre 512 y 8192 bytes. Dentro de estos marcos puedo hubicar paginas que son instrucciones o bloques de intrucciones de distintos programas, pudiendo estar estos no contiguos.

Comentarios