2. Los sistemas operativos deben hacer que el usuario se
despreocupe de la cantidad de memoria RAM que tiene
disponible su máquina, por tal razón la técnica de memoria
virtual es un tema que no debe dejarse de lado.
El estudiante al final de este capítulo deberá comprender
como el Sistema operativo juega entre el uso de la memoria
RAM y la memoria virtual.
3. Es una técnica que que pueden no estar
MEMORIA permite la ejecución completamente en
VIRTUAL de procesos memoria
4.
5.
6.
7. 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:
Intercambio • quiere decir llevar las
páginas desde la memoria
hacia virtual (disco) hacia la
adentro: memoria principal.
• quiere decir llevar las
Intercambio páginas desde la memoria
principal a la memoria
hacia fuera: virtual (disco).
8. 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:
9. página
marcada
como
inválida
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
10. es requerir una página que no está
presente en memoria principal, esto
Fallo de página puede ocurrir con cualquier referencia a
memoria.
11. Reemplazo de páginas
El proceso de reemplazo de páginas en memoria principal tiene algunos métodos de
solución:
• Esquema básico.
• Reemplazo de páginas del tipo FIFO.
• Reemplazo de páginas óptimo.
• Reemplazo de páginas LRU.
• Reemplazo de páginas con base en conteo.
• Algoritmos de asignación de buffers a páginas.
A continuación revisaremos brevemente cada alternativa para reemplazo de páginas:
Esquema básico
Si se requiere reemplazar páginas en memoria, por que se las requiere y no están
cargadas.
• Primero se verifica si hay marcos libres en memoria.
• Si no hay espacio en memoria, se determina que marco no está siendo utilizado en
ese momento, significa que el contenido de este marco será escrito en el espacio de
intercambio y se modificarán las tablas de páginas
12. Reemplazo de páginas del tipo FIFO
(Primero en entrar primero en salir) semejante a una cola de un
banco, el primero en ser atendido será el que está primero.
La siguiente cadena de referencia, representarán los marcos
referenciados por el procesador.
Algoritmo FIFO (reemplazo de páginas)
Fuente: Sistemas Operativos,Silverschatz, Galván, Gagne
Limusa Wiley
En este algoritmo, la tasa de fallo de páginas puede aumentar a medida
que aumenta el número de marcos asignados, este resultado se conoce
como Anomalía de Belady
13. REEMPLAZO DE PÁGINAS ÓPTIMO
Este algoritmo tiene una tasa de fallo de páginas menor, se lo conoce
como OPT o MIN, el criterio es “Reemplazar la página que no se utilizará
durante el período más grande”. Para este algoritmo debe conocerse de
antemano, cuando se utilizará la página, sin embargo es bastante
difícil, conocer de antemano dicha información, por tanto es un algoritmo
difícil de implementar.
Cadena de referencia: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
Note que 7 se referencia la primera vez y la vez 18
El 0 se referencia la segunda, la quinta, la séptima, la onceaba, la 16aba y
la 19aba
14. 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.
15. 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
16. :
• 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.
17. • 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.
18.
19. • El número mínimo de marcos
La multiprogramación, es libres, asignados a un proceso
decir más de un proceso están definidas por
almacenado en la arquitectura de las • El número máximo de
memoria, provoca al instrucciones (ejemplo marcos libres, depende de
sistema operativo dificultad instrucciones que usan la cantidad de memoria
en dividir el número de direccionamiento disponible
marcos libres entre los indirecto, requerirán más de un
marco) y de la arquitectura del
procesos.
computador
20. Algoritmos de Asignación
Los algoritmos de asignación de marcos, consideran el nivel de
multiprogramación, a
mayor 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.
21. • 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.
22.
23. 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.
24. 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.
25. COMO IMPLEMENTA LA MEMORIA VIRTUAL
WINDOWS XP?
Windows XP implementa su memoria virtual:
Empleando la paginación por demanda con
agrupamiento (clustering).
El agrupamiento maneja los fallos de página, llevando
hacia adentro no solo la página con el fallo, sino también
múltiples páginas que rodean a esta página.
Cuando el proceso se crea por primera vez, le asigna un
grupo de trabajo mínimo y máximo.
El mínimo conjunto de trabajo es lo que tiene garantizado
como memoria asignada.
26. Si hubiere memoria se le podrán asignar el número
máximo de páginas.
Si está en su mínimo y se produce un fallo de página al
administrador de memoria virtual le asigna una página
de la lista de páginas libres.
Si está en su límite máximo solo puede utilizar una
página, utilizando el reemplazo de páginas local.
Si el límite de páginas libres, cae bajo un umbral
mínimo, se aplica una técnica conocida como ajuste
automático del conjunto de trabajo, el cual ajusta al
mínimo el número de páginas asignadas a cada
proceso, con el fin de recuperar el número de páginas
libres.