1. John Forero
Miryam Molina
Tatiana Roa
William BonillaDocente Oscar Mendoza
ECCI
Escuela Colombiana de Carreras
Industriales
Tecnología en desarrollo informático
Grupo 4AN
Sistemas Operativos
4. Es una técnica para proporcionar la
simulación de un espacio de
memoria mucho mayor que la
memoria física de una máquina. Esta
"ilusión" permite que los programas
se ejecuten sin tener en cuenta el
tamaño exacto 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.
Debido a que sólo la parte de
memoria virtual que está
almacenada en la memoria principal,
es accesible a la CPU, según un
programa va ejecutándose, la
proximidad de referencias a
memoria cambia, necesitando que
algunas partes de la memoria virtual
se traigan a la memoria principal
desde el disco, mientras que otras ya
ejecutadas, se pueden volver a
depositar en el disco (archivos de
paginación).
,
5.
6. La memoria es uno de los recursos más importantes de la
computadora y, en consecuencia, la parte del sistema operativo
responsable de tratar con este recurso, el gestor de memoria, es
un componente básico del mismo
El gestor de memoria del sistema operativo debe hacer de puente
entre los requisitos de las aplicaciones y los mecanismos que
proporciona el hardware de gestión de memoria. Se trata de una
de las partes del sistema operativo que está más ligada al
hardware
Las necesidades del sistema operativo han obligado a los
diseñadores del hardware a incluir nuevos mecanismos que, a su
vez, han posibilitado el uso de nuevos esquemas de gestión de
memoria
De hecho, la frontera entre la labor que realiza el hardware y la
que hace el software de gestión de memoria es difusa y ha ido
también evolucionando
7. Empleo de técnica de memoria
virtual (depende de la plataforma
de hardware)
Uso de paginación y/o
segmentación (depende de la
plataforma de hardware
,
Los algoritmos empleados para
diversos problemas de la gestión
de memoria (entran en el dominio
del so; El punto clave de los
algoritmos es el rendimiento ,
minimizando fallos de pagina )
Áreas
fundamentales en
el diseño del
gestor de memoria
8. En un sistema con memoria virtual, hay que establecer las
reglas para gestionar el intercambio de páginas o segmentos
entre la memoria principal y la secundaria
9. La carga de programas y su ubicación. Hay que establecer
la correspondencia entre las direcciones lógicas del
programa y su ubicación física en memoria
La presencia simultánea de más de un programa en
memoria.
La compartición de espacios de memoria por varios
programas.
La ejecución de programas que no caben completos en
memoria.
La gestión eficiente del espacio de memoria libre.
En los sistemas operativos modernos la gestión de memoria resuelve
aspectos como:
10. FETCH
PAGINACION BAJO DEMANDA:
Una pagina se lleva a MP solo
cuando produce una fallo de
referencia
PAGINACION PREVIA
Cuando la pagina p produce
un fallo de referencia, se
llevan a memoria las p y p+1.
Decisión del momento en el
que se debe cargar una pagina
en memoria principal
11. Se trae una pagina a MP solo
cuando se hace referencia a una
posición de dicha pagina Si los
otros elementos de la política de
gestión de memoria funcionan
adecuadamente debe ocurrir lo
siguiente :
Cuando un proceso se
ejecute por primera vez ,
se produce un aluvión de
fallos de pagina
A medida que se traigan a memoria
mas paginas, el principio de cercanía
hará que la mayoría de las futuras
referencias estén en paginas que han
cargado hace poco
después de un tiempo la
situación se estabilizara y el
numero de fallos de pagina
disminuirán hasta un nivel muy
bajo
12. Si las paginas de
un proceso se
cargan
secuencialmente
en memoria
secundaria
es mas eficiente
traer a memoria
un numero de
paginas contiguas
de una vez que ir
trayéndolas de
una durante un
periodo largo de
tiempo
Se cargan otras
paginas distintas
a las demandadas
debido a un fallo
de pagina
La paginación previa no debe confundirse con el intercambio; cuando un
proceso se descargar de memoria y pasa al estado suspendido, todas sus
paginas residentes se lleven también fuera; cuando se reanuda el proceso,
todas las paginas que estaban antes en memoria principal se devuelven a las
misma, esta política es la seguida por la mayoría de los sistemas operativos
13. Las tres políticas de ubicación
de segmentos más utilizadas
son Mejor ajuste, primer
ajuste, peor ajuste
Se identifican los espacios de
memoria principal por su
tamaño (longitud) y dirección
inicial, y se reúnen en una
lista. La política de ubicación
determinará la ordenación
previa de la lista.
Una vez que se decide el
espacio donde se ubica el
segmento, se actualiza la lista
de espacios con el que se
acaba de crear (a no ser que el
segmento mida exactamente
igual que el espacio de
memoria utilizado)
Determinar donde se va
ubicar una parte del proceso
en memoria principal, en un
sistema de segmentación
puro
14. La lista de espacios se mantiene ordenada en orden creciente de las direcciones
iniciales y se ubica el segmento en el primer espacio con capacidad suficiente
para albergarlo
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
7 Kb
15. El segmento se ubica en el espacio mas pequeño donde se pueda albergar
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
1 Kb
16. El segmento se ubica en el espacio mas grande donde se pueda albergar
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
17 Kb
17. Los pasos
a seguir:
Cuando se produce un fallo de página y no hay marcos libres es necesario liberar
uno de los marcos de página ocupados para poder cargar la página referenciada
1,
Se selecciona la página víctima mediante un algoritmo de reemplazo que ejecute
una política de reemplazo determinada.
2,
Si la página víctima había sido modificada durante su estancia en memoria, hay
que escribirla en el dispositivo de paginación (page-out). Si no, esta operación no
es necesaria. Para la gestión de páginas modificadas se asocia un bit de página
modificada para cada marco de página, que se activa cada vez que se accede a
memoria para escritura.
3,
Se pone a cero el bit de validez correspondiente a la página víctima en su tabla de
páginas. Escritura.
18. Los criterios a seguir para
implementar un
algoritmo de reemplazo
de páginas son
fundamentalmente dos
MINIMIZAR el número de
fallos de página. Explotar
la localidad temporal de
los programas será
fundamental
SENCILLEZ DE
IMPLEMENTACIÓN. Un
algoritmo complejo,
puede requerir
intervención adicional en
los accesos a memoria, lo
que implicará o pérdida
de rendimiento, o un
hardware costoso, lo que
a su vez redundará
probablemente en
pérdida de rendimiento
19. Numero de
macros de pagina
a asignar a cada
proceso activo
1,
Si el conjunto de
paginas
candidatas para el
remplazo debe
limitarse a las del
proceso que
provoco el fallo
de paginas si
abarcara todos los
macros de pagina
situadas en
memoria principal
2,
Dentro del
conjunto de
paginas
candidatas cual se
debe elegir para el
reemplazo
3,
Importante a tener en cuenta al momento de realizar el reemplazo:
20. Restricción de la política de reemplazo:
Algunos de los marcos de memoria principal pueden estar
bloqueados, cuando esto sucede la pagina cargada
actualmente no puede estar remplazada
En los marcos bloqueados se albergan: la mayoría del
núcleo del S.O. y las estructuras clave de control
El bloqueo se consigue asignando un bit de bloqueo a cada
marco, este bit puede guardarse en una tabla de marcos o
estar en la tabla de página actual.
21.
22. selecciona para remplazar la
pagina que tiene que esperar
mayor cantidad de tiempo hasta
que se produzca la referencia
siguiente
Esta política genera el menor
numero de fallos de pagina.
Sirve como estándar para
comparar con otros algoritmos
Imposible de implementar ,
puesto que requiere que el so
tenga un conocimiento exacto
de los sucesos futuros
23. El ejemplo supone una asignación constante de tres marcos para el
proceso. L a ejecución del proceso hace referencia a cinco paginas
distintas. La cadena de referencia a las paginas durante la ejecución del
programa es: 232152453252.
Lo que significa que la primera referencia es a la pagina 2, la segunda a
la 3 y así sucesivamente. El algoritmo optimo origina tres fallos de
pagina después de haber llenado los marcos asignados
24. Muy afinada a la
política optima
Debido al
principio de
cercanía , esta
debería ser la
pagina con menos
probabilidad de
referencia en un
futuro cercano
Remplaza la
pagina de
memoria que no
ha sido
referenciada hace
mas tiempo
25. la política de
remplazo tiene
gran dificultad
en su
implementación
LA SOLUCION
Etiquetar cada pagina
con el instante de su
ultima referencia; esto
tendría que hacerse para
cada referencia a
memoria, tanto para
instrucciones como para
datos
26. El ejemplo muestra el comportamiento de LRU, utilizando la misma
cadena de referencia a paginas del ejemplo de la política optima. En
este caso , se producen cuatro fallos de pagina
27. Trata los macros asignados a un proceso como
un buffer circular y las paginas se suprimen de
memoria según la técnica de espera circular
(round- robiri).
Todo lo que necesita es un puntero que circule
atreves de todos los marcos del proceso
Es la mas sencilla de implementar
Utiliza una cola FIFO y hace un uso pobre de la
localidad temporal
28. La lógica que hay detrás de
esta selección , es remplazar
la pagina que ha estado
mas tiempo en memoria :
una pagina introducida en
memoria hace mucho
tiempo puede haber caído
en desuso este
racionamiento será a
menudo incorrecto
porque habrá regiones de
programa o de datos que
son muy usadas a lo largo
de la vida de un programa .
Con el algoritmo FIFO estas
paginas se cargaran y
expulsaran repetidas veces
29. La política FIFO genera seis fallos de pagina. Nótese que la LRU se da
cuanta de que las paginas 2 y 5 se referencian mas frecuentemente que
las otras, mientras que la FIFO no lo hace .
30. La forma mas simple
de esta política
requiere asociar un
bit adicional a cada
macro, denominado
bit de uso
Cuando se cargue
una pagina por
primera vez , este bit
se pone en 0 y
cuando se hace la
referencia a la
pagina el bit de uso
se pone en 1.
31. Para el algoritmo de remplazo de paginas, el conjunto de
marcos candidatos a ser reemplazado se considera como
un buffer circular con un puntero asociado
El alcance es local si los candidatos son de un solo
proceso y global si procede de toda la memoria
Al reemplazar una pagina, se hace que el puntero señale
al siguiente marco del buffer
Cuando llega el momento de reemplazar una pagina, el SO
recorre el buffer buscando un marco con el bit de uso a 0,
eligiendo para reemplazar el primero que encuentre. Cada vez
que se encuentra un marco con el bit de uso a 1, se pone a 0
32. La forma mas simple de esta política requiere asociar un bit adicional
a cada marco, denominado bit de uso. Cuando se cargue una pagina
por primera vez, este bit se pone a 0 y cuando se hace referencia
posteriormente a la pagina el bit de uso se pone a 1.
33.
34. Es una estrategia que puede mejorar el rendimiento de la paginación y
permitir el uso de la política de remplazo de paginas de manera mas
sencilla
Un método representativo es el del VAX/VMS; VMS emplea una estrategia
de asignación variable y local
el algoritmo de reeplazo de paginas es simplemente una FIFO
Para mejorar el rendimiento , no se pierde de pista la pagina reemplazada,
sino que se asigna a una de las dos listas siguientes :
LISTA DE PAGINAS LIBRES: si la pagina no ha sido modificada
LISTA DE PAGINA MODIFICADA :si la pagina ha sido modificada, las paginas
son reescitas por bloques, en vez de una por una , reduce al numero de
operaciones de E/S por lo tanto el tiempo de acceso al disco
La pagina no se mueve físicamente de la memoria principal, en su lugar se
suprime su entrada en la tabla de paginas libres o modificadas.
35. La lista de paginas libres es una
lista de marcos disponibles para
cargar pagina, VMS intenta
mantener un pequeño numero
de marcos libres en todos
momento
Cuando se va a reemplazar una
pagina no modificada , esta
permanece en memoria y su
marco se añade al final de la
lista de paginas libres , del
mismo modo , cuando se va a
reescribir y reemplazar una
pagina modificada , su marco se
añade al final de la lista de
paginas modificadas
Cuando se va a leer
una pagina se
emplea el marco
del principio de la
lista, acabando con
la pagina que
estaba allí
Lo importante de estas
operaciones es que la pagina a
reemplazar permanece en
memoria, así pues, si el proceso
hace referencia a dicha pagina,
de devuelve al conjunto
residente del proceso con un
costo pequeño