memoria_virtual

20
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE FILOSOFIA CATEDRA SISTEMAS OPERATIVOS TEMA: MEMORIA VIRTUAL

Transcript of memoria_virtual

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE FILOSOFIACATEDRA

SISTEMAS OPERATIVOS

TEMA: MEMORIA VIRTUAL

MEMORIA VIRTUALEs una técnica que permite la ejecución

de procesos

que pueden no estar completamente en

memoria

CARACTERISTICAS

DE MEMORIA VIRTUAL

La memoria virtual está ubicada en el disco duro.

La memoria virtual permite que mas de un proceso se ejecute a la vez y así el procesador no esté en ocio.

La memoria virtual permite ejecutar grandes procesos , ya sea que esté segmentado o paginado se almacena en memoria principal lo que alcanza, y lo que no alcanza se carga en memoria virtual, es decir en el disco duro, sin embargo todo se ve como si la memoria lógica tuviera todo el programa.

Los segmentos o páginas requeridas serán llevadas desde memoria virtual a la memoria principal, si uno de los procesos requiere realizar una operación de E/S el procesador pasa a ser utilizado por otro proceso, a esto se llama multiprogramación.

El mismo proceso al descargarse y cargarse puede ser cargado en direcciones distintas, en momentos distintas a lo largo de su ejecución.

PAGINACIÓN

POR DEMANDA

Los procesos residen en memoria secundaria (disco), para ejecutar un proceso el paginador trae aquellas páginas necesarias a memoria principal, disminuyendo el tiempo necesario y la cantidad de memoria física o real necesaria.

EXISTEN DOS TIPOS DE INTERCAMBIOS:

• quiere decir llevar las páginas desde la memoria virtual (disco) hacia la memoria principal.

Intercambio hacia

adentro:

• quiere decir llevar las páginas desde la memoria principal a la memoria virtual (disco). Intercambio

hacia fuera:

El hardware es quien se hace cargo de distinguir entre las páginas que están en memoria principal y las que están en memoria virtual.

PUEDEN PRODUCIRSE DOS SITUACIONES:

Si una página es marcada como inválida nunca se la requiere, el proceso se ejecuta normalmente como si todas las páginas estuvieran residentes en memoria

página marcada como

inválida

es requerir una página que no está presente en memoria principal, esto puede ocurrir con cualquier referencia a memoria.

Fallo de página

REEMPLAZO DE PÁGINAS LRU:

Significa “El menos recientemente usado”, es decir se analiza el pasado reciente, por tanto se asocia a

dicha página la hora del último uso y se seleccionará aquella que tiene el período más largo

sin haber sido usada.

Como siempre el problema son las implementaciones, existen dos planteamientos:

• Relacionando con cada página la hora de uso.• Mediante una pila, ubicando en el tope la página más

recientemente usada y en el fondo las que menos se usan.Para analizar el algoritmo, no olvide analizar hacia atrás en el

tiempo. Cadena de referencias: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

REEMPLAZO DE PÁGINAS CON BASE EN CONTEO:

• La menos frecuentemente utilizada: (LFU left frequently used) Cada página maneja un contador que se incrementa cada vez que se la use, la que tiene un contador con un valor mayor es la que permanece en memoria. El inconveniente de este algoritmo es que si una página fue usada antes con mucha frecuencia. tendrá un contador elevado, y deja de utilizarse, sin embargo permanece en memoria, para evitar ello cada cierto intervalo desplaza el contador un bit a la derecha, con el fin de que en un momento dado pueda ser descargada.

• La más frecuentemente utilizada: (MFU MOST FREQUENTLY USED) si el contador de la página es el menor, puede

suponerse que es la página que acaba de ser traída a la memoria y todavía está por ser

usada.

ASIGNACIÓN DE MARCOS

La multiprogramación, es decir más de un proceso

almacenado en memoria, provoca al

sistema operativo dificultad en dividir el número de marcos

libres entre los procesos.

• El número mínimo de marcos libres, asignados a un proceso

están definidas porla arquitectura de las instrucciones (ejemplo instrucciones que usan

direccionamiento indirecto, requerirán más de un marco) y de

la arquitectura delcomputador

• El número máximo de marcos libres, depende de la

cantidad de memoriadisponible

Algoritmos de Asignación

Los algoritmos de asignación de marcos, consideran el nivel de multiprogramación, amayor número de procesos, menor número de marcos, existen los siguientes algoritmos: • Asignación equitativa.: Por ejemplo si hay 5 procesos y 93 marcos, cada proceso tendrá 18 marcos. Y los 3 restantes serán marcos libres. En este caso está dejándose de lado el concepto de jerarquía de procesos, todos son iguales • Asignación proporcional: El parámetro de asignación, es el tamaño del proceso, a mayor tamaño mayor número de marcos disponibles. De igual manera no se considera la prioridad de procesos.

• Asignación global y local: La asignación global, es el algoritmo con mayor efectividad, pues, un proceso con mayor prioridad, puede tomar marcos asignados a otros procesos de menor prioridad, y asignarse para su mejor desempeño, esto implica, que el número de marcos asignados cambia.

•La asignación local: Es un algoritmo que solo toma de entre sus marcos asignados, esto implica que el número de marcos asignados no cambia.

SOBRE PAGINACIÓN

Sobre paginación o trashing: Significa, alta actividad de paginación.

Si el proceso pasa más tiempo es esta actividad que en ejecución, se dice que el trashing está presente, por tanto habrá graves

problemas de desempeño, pues, el uso del CPU será bajo y en contraparte se ejecutarán un exceso de operaciones de E/S.

La razón para una sobre paginación, es la multiprogramación:

Cuando el Sistema Operativo detecta que la CPU no está siendo utilizada, permite que otro proceso sea almacenado en memoria.Si se aplica la asignación global como algoritmo de reemplazo de páginas, significa que, ciertos procesos producen fallos, por tanto,

quitarían marcos de otros procesos, esto implica que las operaciones de E/S para traer y llevar marcos serán mayores que el

uso de CPU.

PAGINACIÓN

En conclusión la sobre paginación, provoca la utilización mínima de CPU, mayor fallos de páginas.Una solución podría ser aplicar el algoritmo de reemplazo de páginas de asignación local, es decir los procesos, solo pueden manipular sus marcos, para evitar el robo de marcos de otros procesos.