* requerimientos de memroia MS windows:
(imagen)
*vinculacion de las instrucciones y lso datos a la memoria:
-tiempode compilacion:
se se conoce previamente la ubicacion de memoria, puede generar codigo absoluto, el codigo debe ser recompilado si la direccion de inicio cambia
- tiempo de carga:
si se conocen las direcciones en tiempo de compilacion, debe generarse codigo reubicable
- tiempo de ejecucion:
la vinculacion se retarda hasta el tiempo de corrida si los procesos puedes ser movidos durante su ejecucion de una posiscion de memoria a otra.
* overlay (superposisciones):
-mantiene en memoria solo aquellas instrucciones y datos que se requieren en un momento determiando
-se utilizaba cuando el proceso era mayor que la cantidad de memoria destinada para el
-se implementaba por el usuario, no se requeria un soporte especial del sistema operativo, su p´rogramacion era compleja
*asignacion contigua: (no hubo tiempo de copiar)
-asignacion con multiples particiones: (no hubo tiempo de copiar)
*asignacion con multiples particiones fijas:
particiones configuradas por usuario, predeterminadas, se uso en OS/360/MFT
recolocacion: ael enlazador debe determinar que direcciones recolocarse vs. carga absoluta por partes
proteccion: bloques de 2k con clave o registro base y limite fragmentacion.

* asignacion de memoria con particiones fija:
(imagen)
* asignacion particiones variables:

- asignacion dinamica de las particiones
- compresion
- fragmentacion: huecos despues de ejecucion
- condensacion: fusion de 2 huecos contiguos
* particion variable:
(imagen)
* compresion/compactacion de memoria:
* problemas de la asignacion dinamica de memoria:
- mejor ajuste:
hueco que mejor quepa y menos desperdicio
- primer ajuste:
el primer hueco que le sirva
- peor ajuste:
hueco mas grande
- siguiente ajuste
- estrategia mas sofisticada :
sistemas buddy: - lista de huecos con tamaño potencias de 2
el primer ajuste y el mejro ajuste son mejores que el peor ajuste en terminos de velocidad y utilizacion.
*primer ajuste:
(imagen)
*sistema buddy:
(imagen)
*almacenamiento virtual:
- capacidad de obtener acceso a direcciones en un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario del sistema
- SO altas, manchester 19860
- disociacion de las direcciones a las que hace referncia en procesos en ejecucion de las direcciones disponibles en el almacenamiento primario
(no hubo tiempo de copiar)
* intercambio/swap:
- un proceso puede intercambiarse temporalmente de memoria a un almacenamiento de respaldo y luego puede ser hacia la memoria para continuar su ejecucion.
- el almacenamiento de respaldo se hace en el disco, que debe ser rapido y tener....
(no hubo tiempo de copiar)
*vista esquematica del intercambio:
(imagen)
*fundamento de la memoria virtual:
- el procesador utiliza y genera direcciones virutlaes
- parte del mapa de memoria esta en disco y parte en memoria principal
- la MMU
- la MMU produce un fallo de pagina cuando la direccion no esta en la memoria principal
- el SO produce un fallo de pagina,haciendo un transvase entre la memoria principal y el area de intercambio
(imagen MMU)
*almacenamiento vitual:
(imagen)
* distribucion de almacenamiento por procesos:
(imagen)
* paginacion:
- el espacio de direcciones logicas de un procesos no necesariamente es contiguo
- se divide la memoria fisica en bloques de tamaño fijo llamados marcos
- se divide la memoria logica en bloques del mismo tamaño llamados paginas
- se mantiene el rastro de todos los marcos
- para correr un programa de tamaño n paginas, se requeire encontrar n marcos libres y cargar el programa
- se debe poner a punto una tabla para traducir las direcciones fisicas a las logicas
- se puede presentar fragmentacion interna
* division de paginas de los espacios de memoria
(imagen)
No hay comentarios:
Publicar un comentario