Administración de memoria

Anuncio
Tema 7. Administración de memoria.
NOTA: En los siguientes sistemas, el código completo del proceso se
halla en memoria.
La resolución de enlaces puede hacerse en tres momentos:
- compilación,
- carga y
 son los más
- ejecución  utilizados.
Asignación de una sola partición:
Solo hay un programa en memoria, además del S.O.
Debe protegerse la zona de memoria del S.O[con un registro]:
- Reubicación estática (compilación y carga).
- Reubicación dinámica (ejecución).
Asignación de particiones multiples:
Varios procesos en memoria.
FIJAS:
La memoria se divide en N particiones de tamaño fijo y distinto entre
ellas, definidas por el SYSOP, y cada partición solo puede contener a un
proceso. (Util en sist. de proceso por lotes).
VARIABLES:
El S.O. conserva una tabla, con los datos de la base y tamaño de
bloque, con la distribución de la memoria.
Cuando llega un proceso y necesita memoria, se busca un hueco que
lo pueda contener, se le asigna la cantidad de memoria que necesita y se
deja el resto disponible para otras solicitudes.
ATENCION: Hay que proteger la zona de memoria del S.O.
(Reubicación): Optimización de los huecos disponibles en memoria.
(Fragmentación Externa)
Paginación:
Memoria Lógica dividida en paginas.
Memoria Física dividida en marcos de página.
Se crea una tabla de páginas para cada proceso en donde cada
página del mismo tiene asignada un marco de página.
Tamaño de página es siempre 2k (una potencia de 2) [1, 2, y hasta
8K], ya que de esta manera los MSB indican el nº de página y los LSB el
deplazamiento dentro de la misma.
El S.O. se encarga de crear y gestionar la paginación y la tabla de
páginas.
Segmentación:
Los procesos se dividen en funciones, procedimientos, units, etc. y
sus bloques de código se cargan de manera independiente en memoria a
medida que son requeridos.
Cada proceso tiene una tabla de segmentos, indicando:
nº segmento tamaño dir. base
Cuando un proceso necesita una palabra de un segmento, manda la
dirección:
nº segmento desplazamiento
que al pasarla por la tabla de segmentos da la dir. física de la palabra.
Segmentación paginada:
Los procesos son segmentados y cada uno de los segmentos es a su
vez paginado y colocado en marcos independientes de la memoria física.
Cada proceso posee una tabla de segmentos y cada segmento una
tabla de páginas, lo cual ocupa mucho espacio, pero evita la
fragmentación externa que se producía en la segmentación.
[Ver gráfico de obtención de la dirección]
Tema 8. Memoria Virtual.
NOTA: A partir de aquí no es necesario que todo el proceso se halle en
memoria.
Paginación por Demanda.
En la tabla de páginas hay un bit de validación que nos indica que
páginas se hallan en memoria y cuales no, esto requiere una copia
completa del programa en el disco.
El sistema de gestión es similar al funcionamiento de una caché.
ATENCIÓN: Cuidado con las instrucciónes que se ejecutan a medias,
ya que deben ser resueltas por HW.
Rendimiento:
p=probabilidad de fallo
tam=tiempo de acceso a memoria
tsp=tiempo de servicio de página
tae=tiempo de acceso efectivo
t ae  (1  p )  t
am
 p t
sp
Algoritmos de reemplazo de páginas:
- FIFO: sencillo y simple.
- LRU: es el que se suele emplear, aunque de varias maneras.
- MIN(Optimo): No se puede implementar, ya que reemplaza la
página que más tardará en ser referenciada y eso no se puede saber en la
practica.
Implementación del LRU:
+ Con contadores lógicos: se le asigna a cada pag. el momento en que
fue referenciada.
+ Con un pila: se reemplaza la de abajo y se añaden arriba.
Aproximaciones con Bits de Referencia:
+ Uso de BITS DE REFERENCIA: bit asociado a cada marco de
página, el S.O. lo pone a 0 al inicio y cuando se accede a dicha página se
pone a 1, de esta forma tras varios accesos, solo unas pocas pags. tendrán
un 0 y se elegirán como victimas.
Algoritmo de segunda oportunidad.
Algoritmo de bits adicionales de referencia.
Algoritmos ad hoc (uso de marcos libres).
HIPERPAGINACION (area activa y frecuencia de fallos).
Asignación Global Vs. Asignación Local.
Prepaginación.
Influencia del tamaño de página.
Importancia de la estructura de los programas.
Fijación de páginas para E/S.
Temas 9 y 10. Almacenamiento secundario.
FICHERO: entidad lógica, creada y gestionada por el S.O. para poder
manejar la información, guardarla, modificarla y recuperarla.
El S.O. define un fichero como un tipo de datos y asocia estas
abstracciones a un medio físico (discos).
Atributos de los ficheros:
- nombre,
- tipo (extensión),
- ubicación en el medio físico,
- tamaño,
- codigos de protección e
- incluso fecha y hora (de creación, modificación o acceso).
Descargar