memoria_virtual
-
Upload
avilaarturo -
Category
Documents
-
view
831 -
download
0
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
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.
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.
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 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