1. INSTITU
TO
TECNOLOGICO DE
TU
X
TEPEC
SISTEMAS OPERATIVOS 1
UNIDAD 3: ADMINISTRACIÓN DE MEMORIA.
ADMINISTRACIÓN DE MEMORIA.
CATEDRÁTICO: M.S.C JOSÉ ALBERTO VILLALOBOS SERRANO.
JUAN ANAYA MANZANO.
ING. INFORMATICA
SEMESTRE: 4°
SAN JUAN BAUTISTA TUXTEPEC, OAXACA A 17 DE ABRIL DE 2015.
2. Introducción.
La memoria virtual permite ejecutar procesos que requieren más memoria que la
disponible en el sistema, manteniendo en memoria principal solo aquella memoria
que el proceso esté utilizando y el resto en disco. De esta manera se evita la
preocupación por las limitaciones de la memoria física.
La ilusión de la memoria virtual está soportada por el mecanismo de traducción de
memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así
en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal
forma que una pequeña parte de él, está en memoria real y el resto almacenado en
el disco, y puede ser referenciado fácilmente.
Definición:
Memoria virtual (Fotheringham, 1961) es un método que permite direccional un
espacio de almacenamiento mucho mayor que el disponible en la memoria principal.
Para ello, el sistema operativo usa memoria a dos niveles y particiona los trabajos
en bloques, manteniendo en memoria principal aquellos bloques que se están
usando.
Implementación.
La implementación de memoria virtual se realiza a través de la técnica de paginación
bajo demanda en la que los procesos residen en un dispositivo de disco y son
puestos en memoria principal cuando es necesario cargarlos para ejecutar. La carga
del proceso en memoria no es total, sino que se implementa un cargador llamado
"lazy swapper" que cargara las paginas según se vayan necesitando.
3. En este ejemplo se tiene que el proceso tiene para usar 8 páginas, de las cuales
solo usa 6, y de las cuales solo 3 están en memoria principal (A, C y F). Todas las
páginas estarán en el disco (incluidas aquellas que también están en memoria
principal).
Acceso a Memoria
El acceso a memoria genera la siguiente secuencia de pasos:
1. Verificar que el proceso referencia una página correcta dentro de su espacio
virtual, ya que no todas las direcciones dentro de su espacio son válidas. Por
ejemplo, el acceso fuera de un arreglo puede generar un acceso a una página
virtual que no fue asignada al proceso. Si el proceso referencia a una página
incorrecta, se genera un error y el proceso termina.
4. 2. Si el acceso fue correcto, se busca en la tabla de páginas el frame
correspondiente, verificando el bit de validez-invalidez.
3. Si el bit es de validez se accede al frame correspondiente y se termina el
acceso.
4. Sino se genera el trap de page fault, que involucra los siguientes pasos:
a) Se busca frame libre en memoria principal, si no hay se ejecuta
el algoritmo de reemplazo.
b) Se lee de disco la página a cargar, y se carga en el frame
obtenido en el paso anterior.
c) Se actualiza la tabla de páginas, indicando que la página está
disponible en memoria principal.
d) Se devuelve el control a la instrucción que fue interrumpida por
el PF.
Si se aplica este método se tendrá un sistema puro de paginación bajo demanda.
Tener en cuenta que para poder llevarlo a cabo se precisa una tabla de páginas y
espacio swap de disco.
Algoritmos de remplazo
La necesidad de traer a memoria principal una página en una memoria principal
llena, genera la búsqueda de un frame a remplazar, mediante un algoritmo de
remplazo. El mal algoritmo de remplazo puede generar un impacto significativo de
degradación del sistema. Cuando se elige un frame a remplaz, este será puesto en
5. memoria swap, y ante un eventual uso en el futuro, volverá a memoria principal a
través de un page fault.
Los pasos a seguir cuando remplazamos frames son los siguientes:
Elegir la víctima mediante algún algoritmo de remplazo
Escribir la víctima en memoria swap (swap out) y ajustar la tabla de páginas
Cargar la página en el frame correspondiente (swap in)
Ajustar la tabla de página.
Las diferentes organizaciones de almacenamiento virtual generalmente
implementadas son:
Paginación.
Segmentación.
Segmentación y paginación.
Las estrategias para la administración de sistemas de almacenamiento virtual
condicionan la conducta de los sistemas de almacenamiento virtual que operan
según esas estrategias.
Estrategias de administración de la memoria virtual.
Estrategias del mejor ajuste: Un trabajo que entre en el sistema se colocará en el
espacio vació del almacenamiento principal en el que quepa mejor y que deje la
menor cantidad posible de espacio sin utilizar.
Estrategias del primer ajuste:
Un trabajo que entre en el sistema se colocara en el almacenamiento principal en el
primer vació disponibles lo bastante grande para contenerlo.
6. Estrategias del peor ajuste:
Consiste en colocar un programa en el almacenamiento primario en el espacio vació
donde peor se ajusta es decir en el espacio más grande posible.
Estrategias de obtención:
Determina cuando se debe transferir una página o un segmento de almacenamiento
secundario al primario. Las estrategias de obtención por demanda esperan a que
un proceso en ejecución haga referencia a una página o a un segmento antes de
traer la página o el segmento de almacenamiento primario. Los esquemas de
obtención anticipada intentan determinar por adelantado a cuales paginas o
segmentos hará referencia un proceso.
Estrategias de colocación:
Determinan en que lugar del almacenamiento primario se debe colocar una pagina
o un segmento entrante. Una página entrante se puede colocar en cualquier marco
de página disponible.
Estrategias de reemplazo:
Sirven para decidir cual página o segmento se debe desplazar para dar espacio a
una página o segmento entrante cuando esta completamente ocupado el
almacenamiento primario.
7. Conclusión.
La memoria virtual ha llegado a ser un componente esencial de la mayoría de los
sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se
tienen unos pocos fragmentos de un proceso dado, se pueden mantener más
procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no
se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema
operativo debe saber cómo gestionar este esquema.