1. Administración de Memoria

Anuncio
Gabriel Astudillo Muñoz
1. Administración de Memoria
1.1. Introducción
La parte del sistema operativo que se encarga del manejo de la memoria se
denomina administrador de la memoria. Su labor consiste en llevar un registro
de qué partes de la memoria se están utilizando y qué partes no, con el fin de
asignar espacio a los procesos cuando estos hagan requerimientos, liberarlo
cuando terminen, así como administrar el intercambio entre la memoria principal y
el disco, en el caso en que esta no pueda albergar a todos los procesos. También
facilita los mecanismos de protección para que un proceso no invada el espacio de
otros procesos.
1.2. Conceptos:
Gabriel Astudillo Muñoz
1.4. Puntos clave en la organización de la memoria.
•
¿Cuándo poner un nuevo programa en memoria?
•
¿Se anticipa, a las peticiones de los procesos, en la carga de
programas?
•
¿En qué lugar de la memoria se instala un programa?
•
¿Se debe optimizar el tiempo de ejecución o el espacio en la memoria
principal?
•
1.5. Esquema general
• La organización y la administración de la memoria principal ,
memoria primaria o memoria real es uno de los factores más
importantes que influyen en el diseño de los Sistemas
Operativos.
•
Históricamente la memoria ha sido un recurso caro, por lo que
se desea optimizar su uso, aunque en la actualidad ha bajado
de precio, los programa han aumentado su tamaño Î el
problema de la escasez de memoria continúa.
1.3. Puntos claves de la administración de memoria.
•
¿Se debe permitir la multiprogramación?
•
¿Se deben asignar particiones fijas o variables?
•
¿Las particiones pueden crecer en forma dinámica?
•
¿Los programas podrán ser relocalizables?
•
¿La ejecución de trabajos se hará en bloques de memoria adyacentes o
en cualquier lugar disponible?
1
En el cuadro se muestra un resumen de las técnicas de administración de
memoria
2
Gabriel Astudillo Muñoz
1.6. Monoprogramación.
Gabriel Astudillo Muñoz
1.7. Multiprogramación en memoria real.
•
El sistema más simple de administración, consiste en tener sólo un
programa cargado en la memoria a la vez.
•
Este esquema deriva en la creación de un sistema operativo,
permitiendo aislar las rutinas que manejan los dispositivos de I/O de los
procesos de usuario
•
Bajo este esquema, la memoria real es tomada para almacenar el
programa que se esté ejecutando en un momento dado, con la visible
desventaja de que se está limitado a la cantidad de RAM disponible.
•
La organización física bajo este esquema es muy simple: El sistema
operativo se ubica en las localidades superiores o inferiores de la
memoria, seguido por algunos manejadores de dispositivos ( `drivers' ).
Esto deja un espacio contiguo de memoria disponible que es tomado
por los programas del usuario, dejando generalmente la ubicación de la
pila (` stack' ) al último, con el objetivo de que ésta pueda crecer hasta
el máximo posible.
3
•
Multiprogramación: consiste en poner en la memoria física más de un
proceso al mismo tiempo, de manera que si el que se está ejecutando
en este momento entraba en un período de entrada/salida, se puede
tomar otro proceso para que usara la unidad central de procesamiento.
Î De esta forma, la memoria física se divide en secciones de
tamaño suficiente para contener a varios programas
1.7.1. Modelo de multiprogramación.
•
Desde un punto de vista probabilístico, sea p la fracción de tiempo en que
un proceso espera por I/O.
•
La probabilidad de que n procesos esperen simultáneamente por I/O es : pn
•
La utilización de CPU es por lo tanto: 1-pn
•
n es denominado “grado de multiprogramación”.
4
Gabriel Astudillo Muñoz
1.7.2. Multiprogramación con particiones fijas.
•
Es la manera más simple de administrar la memoria cuando estamos en
sistemas multiprogramados es con particiones fijas.
•
Consiste en dividir la memoria en en n partes de tamaño fijo. De esta
forma es posible tener multiprogramación ya que a cada proceso se le
asigna una partición.
Gabriel Astudillo Muñoz
1.7.3. Multiprogramación con particiones variables.
•
1.7.3.1. Ventajas
•
1.7.2.1. Desventajas.
•
Se hace una mala utilización de la memoria debido a la poca flexibilidad
del método.
•
Es complicado correr programas más grandes que el tamaño de la
partición.
•
Se presenta fragmentación interna. Este fenómeno ocurre cuando un
proceso no ocupa toda la memoria asignada y sin embargo el espacio
libre no puede ser utilizado por ningún otro proceso.
La memoria se divide en bloques de diferente tamaño de acuerdo a
las necesidades del proceso.
La gran ventaja de este método es su flexibilidad, pues permite
definir bloques del tamaño requerido, terminando así con la
fragmentación interna y permitiendo hacer un mejor uso de la
memoria y por ende del procesador.
1.7.3.2. Desventajas.
•
fragmentación externa.
o Como la memoria se dividió en bloques de tamaño diferente,
puede ocurrir que el bloque más grande no pueda contener un
programa dado, a pesar que la suma de los espacios libres
sea mayor que el tamaño del programa.
1.7.2.2. Ventajas.
o Cuando se libera una partición y ésta no se puede ocupar. Se
originan huecos de memoria.
•
Su administración es relativamente simple, pues para guardar
información del estado del recurso se debe tener un registro de cada
zona (libre u ocupada).
•
La protección entre procesos se puede realizar mediante el
mecanismo de llaves de memoria o utilizando el registro base y la
longitud de la zona.
5
1.7.4. Estrategias para el llenado de los espacios de memoria.
•
Primer Ajuste (first fit): Se asigna el primer hueco que sea mayor al
tamaño deseado.
•
Mejor Ajuste (best fit): Se asigna el hueco cuyo tamaño exceda en
la menor cantidad al tamaño deseado. Requiere de una búsqueda
exhaustiva.
•
Peor Ajuste (worst fit): Se asigna el hueco cuyo tamaño exceda en
la mayor cantidad al tamaño deseado. Requiere también de una
búsqueda exhaustiva.
•
El Siguiente Ajuste: Es igual que el `primer ajuste' con la diferencia
que se deja un apuntador allugar en donde se asignó el último hueco
para realizar la siguiente búsqueda a partir de él.
•
Ajuste Rápido: Se mantienen listas ligadas separadas de acuerdo a
los tamaños de los huecos, paraasí buscarle a los procesos un
hueco más rápido en la cola correspondiente.
6
Descargar