Upload
nubieshita-chase
View
621
Download
0
Embed Size (px)
Citation preview
ADMINISTRACIÓN DE LA MEMORIA
UNIDAD IV
GESTIÓN DE MEMORIA
La parte del sistema operativo que seocupa de gestionar la memoria se ledenomina Gestor de Memoria. Su cometidoconsiste en llevar la cuenta de las partes dememoria que se están utilizando y las queestán libres, así como de gestionar lainformación entre la memoria principal y lasecundaria cuando la memoria RAM no seasuficientemente grande para acoger atodos los procesos.
OBJETIVOS
Protección
Compartimiento
Reubicación
Organización de la memoria
ADMINISTRADOR DE LA
MEMORIA
La parte del sistema operativo que administra lamemoria se llama administrador de memoria.
Su labor consiste en llevar un registro de las partesde memoria que se estén utilizando y aquellasque no, con el fin de asignar espacio en memoriaa los procesos cuando éstos la necesiten yliberándola cuando terminen.
Así como administrar el intercambio entre lamemoria principal y el disco en los casos en losque la memoria principal no le pueda darcapacidad a todos los procesos que tienennecesidad de ella.
El administrador de memoria tiene como objetivos:
El sistema operativo es responsable de las siguientes actividades respecto a la administración de memoria : Llevar cuenta de que partes de la memoria están siendo
utilizadas y por quien.
Decidir que procesos cargar en memoria cuando esta está disponible.
Alojar y desalojar espacio de memoria cuando sea requerido.
El sistema operativo es responsable de las siguientes actividades respecto a la administración de la memoria secundaria: Administración del espacio de memoria libre.
Alojamiento de memoria
Planificación del disco
JERARQUIA DE MEMORIAEs la organización piramidal de la memoria enniveles, que tienen los ordenadores.
Su objetivo es conseguir el rendimiento deuna memoria de gran velocidad al coste deuna memoria de baja velocidad, basándoseen el principio de cercanía de referencias.
Los puntos básicos relacionados con lamemoria pueden resumirse en:
Cantidad
Velocidad
Coste
Los niveles que componen la jerarquía de
memoria habitualmente son:
• Nivel 0: Registros
• Nivel 1: Memoria caché
• Nivel 2: Memoria principal
• Nivel 3: Disco duro (con el mecanismo
de memoria virtual)
ESTRATEGIAS PARA LA
ADMINISTARCIÓN DE LA
MEMORIA
Están dirigidas a la obtención del mejor uso
posible del recurso del almacenamiento
principal.
Se dividen en las siguientes categorías:
Estrategias de búsqueda
Estrategias de búsqueda por demanda.
Estrategias de búsqueda anticipada.
Estrategias de colocación.
Estrategias de reposición.
MULTIPROGRAMACIÓN CON
PARTICIONES FIJAS
La memoria se puede organizar
dividiéndose en diversas partes, las cuales
pueden variar en tamaño. Esta partición la
puede hacer el usuario en forma manual, al
iniciar una sesión con la máquina.
Existen dos maneras de asignar los procesos a ella.
• Es mediante el uso de una cola única que asigna
los procesos a los espacios disponibles de la
memoria conforme se vayan desocupando.
• Buscar en la cola el proceso de tamaño mayor
que se ajuste al hueco, sin embargo hay que
tomar en cuenta que tal método discrimina a los
procesos más pequeños.
MULTIPROGRAMACIÓN CON
PARTICIONES VARIABLES
Este esquema fue usado por el sistema operativo IBM OS/360 (llamado MFT), el cual ya no está en uso.
El sistema operativo lleva una tabla indicando cuáles partes de la memoria están disponibles y cuáles están ocupadas.
Inicialmente, toda la memoria está disponible
para los procesos de usuario y es consideradocomo un gran bloque o hueco único de
memoria.
Cuando llega un proceso que necesita memoria,
buscamos un hueco lo suficientemente grandepara el proceso. Si encontramos uno, se asigna
únicamente el espacio requerido, manteniendo
el resto disponible para futuros procesos que
requieran de espacio.
MEMORIA REAL
La memoria real o principal es en donde son ejecutados los
programas y procesos de una computadora y es el espacio real
que existe en memoria para que se ejecuten los procesos.
RAM se utiliza como sinónimo de
memoria principal, la memoria que
está disponible para los programas
Con un mapa de bits, la memoria se divide en unidades de
asignación.
ADMINISTRACION DE LA MEMORIA CON MAPA DE BITS
Buscar el mapa una serie de cierta
longitud es una operación lenta.
Un mapa de bits es un mecanismo
sencillo para llevar el control de las
palabras de memoria e una cantidad
fija de esta, porque su tamaño solo
depende del tamaño de la memoria y
del de la unidad de asignación.
0 =
desocupada
1= ocupada
Administración De Memoria Con Listas
Enlazadas
Administración De Memoria Con Listas Enlazadas
Mantiene una lista enlazada de segmentos de memoria asignados y libres, donde un segmento es un proceso o un hueco entre dos procesos
•Si la lista se ordena por dirección es más fácil su actualización
•Si hay dos listas, una para memoria usada y otra para huecos, la asignación es más rápida, pero la liberación es más lenta
•Ocurre lo mismo para asignar hueco de intercambio.
Administración De Memoria Con Listas Enlazadas
Si la lista se mantiene ordenada por dirección, podemos usar uno de los siguientes algoritmos para escoger un hoyo donde poner un nuevo proceso:
First-fit.Asignar el primer hoyo que sea suficientemente grande como para contener al proceso.
• Best-fit.Asignar el menor hoyo en el que el proceso quepa.
• Worst-fit.Asignar el mayor hoyo
Administración De Memoria Con Listas Enlazadas
Cada vez que se asigna un hoyo a un proceso, se
convierte en un segmento asignado y un hoyo más
pequeño.
Best-fit deja hoyos pequeños
worst-fit deja hoyos grandes.
Simulaciones han mostrado que first-fit y best-fit son
mejores en términos de utilización de la memoria.
First-fit es más rápido
Administración De Memoria Con Listas Enlazadas
La memoria de la siguiente primera figura está
mostrada como una lista ligada de segmentos
donde cada entrada de la lista especifica un
hueco (H) o un proceso (P), la dirección donde
comienza, su longitud y un apuntador a la
siguiente entrada
Distribución del espacio para intercambio
Distribución del espacio para intercambio
En algunos sistemas, cuando un proceso esta en la
memoria, no se le puede asignar espacio en disco.
Cuando deba intercambiarse, puede colocarse en
alguna otra parte del disco.
Los algoritmos para administrar el espacio de
intercambio son los mismos que se emplean para
administrar la memoria principal
Distribución del espacio para intercambio
Cuando el proceso sale, se desasigna el espacio para el intercambio.
La única diferencia es que el espacio en el disco para un proceso debe asignarse como un numero integral de bloques de disco.
Por lo tanto:
Un proceso de tamaño 13.5k que utiliza
un disco con bloques de 1k se
redondeara a 14k antes de que se
busquen las estructuras de datos del
espacio en el disco.
Distribución del espacio para intercambio
En otros sistemas, cuando se crea un proceso, el espacio para intercambio se asigna para el en disco.
Cada vez que el proceso se intercambia, siempre se cambia a su espacio asignado, en lugar de dirigirse a un lugar diferente en cada ocasión.
Distribución del espacio para intercambio
Las recomendaciones sobre el espacio de disco Espacio de intercambio
Modificaciones
Paquetes adicionales de software
Es posible que descubra que los grupos de software necesitan menos espacio en disco
Distribución del espacio para intercambio
Al instalar el software, puede
elegir, agregar o suprimir
paquetes del grupo de software
que haya seleccionado. Para ello
es necesario que conozca las
dependencias de software y la
manera como está
empaquetado el software.
La compatibilidad reducida de
red contiene el número mínimo
de paquetes y el grupo completo
de software más compatibilidad
contiene todos los paquetes.
MEMORIA VIRTUAL
Memoria Virtual (concepto)
La Memoria virtual permite al software
usar más memoria principal que la que
realmente posee el computador.
Operación BásicaMuchas aplicaciones requieren el acceso a
mas información (código y datos)que la
puede mantener la memoria física.
Una solución al problema de necesitar
mayor cantidad de memoria de la que se
posee consiste en que las aplicaciones
mantengan parte de su información en
disco, moviéndola a la memoria principal
cuando sea necesario.
Paginación en memoria virtual
La memoria virtual usualmente es implementada usando
paginación.
En paginación, los bits menos significativos de la dirección de
memoria virtual son preservados y usados directamente como
los bits de orden menos significativos de la dirección de
memoria física. Los bits más significativos son usados como
una clave en una o más tablas de traducción de direcciones
(llamadas tablas de paginación), para encontrar la parte
restante de la dirección física buscada.
Segmentación Memoria
virtual
Es un esquema de manejo mediante la estructura refleja su división lógica llevándose acabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.
Cada uno lleva información de los programas como arreglos subrutinas etc.
Cada espacio de direcciones del programa consiste en una colección de segmentos que reflejan la división lógica del programa.
Objetivos que alcanza la
segmentación
Modularidad de programas: cada rutina del programapuede ser un bloque sujeto a cambios y recopilaciones, sinafectar por ello al resto del programa.
Estructuras de datos de largo variable: ej. Stock, dondecada estructura tiene su propio tamaño y este puede variar.
Protección: se puede proteger los módulos del segmentocontra accesos no autorizados.
Compartición: dos o más procesos pueden ser un mismosegmento, bajo reglas de protección; aunque no seanpropietarios de los mismos.
Enlace dinámico entre segmentos: puede evitarse realizartodo el proceso de enlace antes de comenzar a ejecutar unprograma. Los enlaces se establecerán solo cuando seanecesario
Algoritmos de sustitución de paginasCuando ocurre una falla de página, el
sistema operativo tiene que escoger la
página que sacará de la memoria para que
pueda entrar la nueva página. Si la página
que se eliminará fue modificada mientras
estaba en la memoria, se debe reescribir en el
disco a fin de actualizar la copia del disco,
pero si no fue así
la copia en disco ya estará actualizada y no
será necesario reescribirla. La nueva página
simplemente sobre escribe la que está siendo
desalojada.
EJEMPLOS
El algoritmo de sustitución de páginas
óptimo
El algoritmo de sustitución de páginas no
usadas recientemente
El algoritmo NRU
El algoritmo (FIFO)
ASPECTOS DE DISEÑO PARA EL SISTEMA
1. El modelo de conjunto de trabajo
2. Tamaño de página El tamaño será de acuerdo a las aplicaciones deseadas
para un sistema en particular. Los factores que determinan los tamaños son:
Cuanto menor sea el tamaño de la página, más páginas y marcos de página habrá y mayores tendrán que ser la tabla.
Dependiendo del tamaño de la información se determina si se usan páginas pequeñas o grandes.
Cuanto menor sea la página, 'menor será la fragmentación interna.
LIBERACION DE PAGINAS
Los programas que ya no requieran
páginas específicas deberán desechar
tales páginas de sus conjuntos de trabajo.
Por lo regular hay un tiempo durante el
cual permanecen en el almacenamiento
principal la páginas que ya no se
requieran.