2. GESTIÓN DE MEMORIA
La parte del sistema operativo que se
ocupa de gestionar la memoria se le
denomina Gestor de Memoria. Su cometido
consiste en llevar la cuenta de las partes de
memoria que se están utilizando y las que
están libres, así como de gestionar la
información entre la memoria principal y la
secundaria cuando la memoria RAM no sea
suficientemente grande para acoger a
todos los procesos.
4. ADMINISTRADOR DE LA
MEMORIA
La parte del sistema operativo que administra la
memoria se llama administrador de memoria.
Su labor consiste en llevar un registro de las partes
de memoria que se estén utilizando y aquellas
que no, con el fin de asignar espacio en memoria
a los procesos cuando éstos la necesiten y
liberándola cuando terminen.
Así como administrar el intercambio entre la
memoria principal y el disco en los casos en los
que la memoria principal no le pueda dar
capacidad a todos los procesos que tienen
necesidad de ella.
5. 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
6. JERARQUIA DE MEMORIA
Es la organización piramidal de la memoria en
niveles, que tienen los ordenadores.
Su objetivo es conseguir el rendimiento de
una memoria de gran velocidad al coste de
una memoria de baja velocidad, basándose
en el principio de cercanía de referencias.
Los puntos básicos relacionados con la
memoria pueden resumirse en:
Cantidad
Velocidad
Coste
7.
8. 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)
9. ESTRATEGIAS PARA LA
ADMINISTARCIÓN DE LA
MEMORIA
Están dirigidas a la obtención del mejor uso
posible del recurso del almacenamiento
principal.
10. 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.
11. 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.
12. 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.
13. 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.
14. Inicialmente, toda la memoria está disponible
para los procesos de usuario y es considerado
como un gran bloque o hueco único de
memoria.
Cuando llega un proceso que necesita memoria,
buscamos un hueco lo suficientemente grande
para el proceso. Si encontramos uno, se asigna
únicamente el espacio requerido, manteniendo
el resto disponible para futuros procesos que
requieran de espacio.
16. 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
17. ADMINISTRACION DE LA MEMORIA CON MAPA DE BITS
Con un mapa de bits, la memoria se divide en unidades de
asignación.
18. 0=
desocupada
1= ocupada
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.
Buscar el mapa una serie de cierta
longitud es una operación lenta.
20. 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
•Sila 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.
21. Administración De Memoria Con
Listas Enlazadas
Sila 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
22. 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
23. 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
25. 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
26. 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.
27. Distribución del espacio para
intercambio
Enotros 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.
28. 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
29. 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.
31. Memoria Virtual (concepto)
LaMemoria virtual permite al software
usar más memoria principal que la que
realmente posee el computador.
32. Operación Básica
Muchas 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.
33. 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.
34. 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.
35. Objetivos que alcanza la
segmentación
Modularidad de programas: cada rutina del programa
puede ser un bloque sujeto a cambios y recopilaciones, sin
afectar por ello al resto del programa.
Estructuras de datos de largo variable: ej. Stock, donde
cada estructura tiene su propio tamaño y este puede variar.
Protección: se puede proteger los módulos del segmento
contra accesos no autorizados.
Compartición: dos o más procesos pueden ser un mismo
segmento, bajo reglas de protección; aunque no sean
propietarios de los mismos.
Enlace dinámico entre segmentos: puede evitarse realizar
todo el proceso de enlace antes de comenzar a ejecutar un
programa. Los enlaces se establecerán solo cuando sea
necesario
36. Algoritmos de sustitución de
paginas
Cuando 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.
37. EJEMPLOS
Elalgoritmo de sustitución de páginas
óptimo
El algoritmo de sustitución de páginas no
usadas recientemente
El algoritmo NRU
El algoritmo (FIFO)
38. 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.
39. LIBERACION DE PAGINAS
Losprogramas 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.