Presentaci - PowerPoint PPT Presentation

About This Presentation
Title:

Presentaci

Description:

sin nececidad de que todos los datos, m dulos, etc. Est n en memoria f sica.Ejemplo: ... Ventajas: se ahorra memoria y se disminuye el tiempo de swapping. Requ. ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 34
Provided by: erida
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
S.O Administración de Memoria IV
  • Eridan Otto

2
Adm. Memoria IV
  • Memoria Virtual
  • Introducción
  • Paginación por demanda
  • Análisis de desempeño
  • Reemplazo de páginas
  • Algoritmos de Reemplazo de páginas
  • Asignación de Frames
  • Trashing

3
Adm. Memoria IV
  • Memoria Virtual Introducción
  • Def MV. Es una técnica que habilita a procesos,
    que, por tener un tamaño mayor al de
  • la memoria física disponible no pueden
    instalarse completamente en la misma.
  • Ventaja principal Libera a los programadores de
    manejar restricciones, en cuanto a almacenamiento
    de sus programas en memoria principal.
  • Justificación de la técnica en los programas
    reales grandes, se ha estudiado que, pueden
  • ejecutarce en forma adecuada (Bien
    modularizados, o construidos con un enfoque OO),
  • sin nececidad de que todos los datos, módulos,
    etc. Estén en memoria física.Ejemplo
  • - rutinas de manejo de errores y mensajes
  • - Estructuras de
    datos para obtener estadísticas periódicas, más
    grandes que
  • lo que
    realmente se ocupa.
  • Incluso, muchas veces, por errores de diseño,
    quedan estructuras de datos que no se usan, o
  • Aún cuando se ocupe el programa completo, no se
    necesita tener todo al mismo tiempo.
  • Mensajes obsoletos.
  • Otras ventajas
  • Disminuye el swapping
  • Aumenta el grado de multiprogramación
  • Independiza al programador de restricciones
    físicas

4
Adm. Memoria IV
Memoria Virtual Introducción
Mem. secundaria
Mapa de memoria
Página 0
Memoria Física
Página 1
Página 2
. . . .
Página n
Mem. Virtual
5
Adm. Memoria IV
Memoria Virtual Paginación por demanda
  • Def MV-Paginacion por demanda. Es una técnica
    similar a la paginación con swapping del cap.
    III.
  • Los procesos residen en DISCO
  • Cuando se ejecuta un Pi, se carga en memoria.
  • En vez de cargar todo el Pi , se cargan sólo las
    páginas que se necesitan.
  • Ventajas se ahorra memoria y se disminuye el
    tiempo de swapping
  • Requ. De HW Se requiere de alguna estructura
    física que indique, cuáles páginas están en
    memoria y cuales en disco
  • Implementación Usar TP, bit válido/ inválido
  • Funcionamiento
  • Cuando se marca una página como inválida, no
    tiene efecto alguno, si el Pi nunca hace
    referencia a esa página.
  • Cuando el Pi referencia a esa página, que no está
    en memoria, se produce la interrupciónFALLO DE
    PÁGINA.
  • QUÉ PASA EN ESTE CASO?

6
Adm. Memoria IV
Memoria Virtual Diagrama swapping
Mem. secundaria
Memoria Principal
Pag x sale
Pag y sale
Pag z sale
Swap out
Swap in
Pag j entra
7
Adm. Memoria IV
Memoria Virtual Diagrama TP
Visión lógica
TP
Mem. secundaria
4
V
A
0
0
B
1
C
I
1
2
D
3
6
V
2
E
4
F
5

I
3
G
6
A
H
7
I
4
B
D
9
V
5
E
F
C

I
6
I
7
Memoria Principal
8
Adm. Memoria IV
Memoria Virtual Diagrama acciones falla página
s.o
2
TP
Mem. secundaria
3
I
1
5
Ld R
6
4
R
Memoria Principal
9
Adm. Memoria III
Memoria Virtual Paginación por demanda
  • Dada la figura anteriór, se explicarán los
    eventos
  • Referencia se busca en una tabla interna para
    determinar si es una referencia válida. Si es
    invalida, el proceso es TERMINADO.
  • Trap
  • La página esta en backing store. Se busca en este
    almacenamiento secundario un frame libre en una
    Estructura de datos de Frames libres.
  • Comienza a leerse el disco, instalando la nueva
    página (de memoria secundaria) en el frame
    asignado.
  • Cuando la lectura esta lista, se modifica la TP,
    indicando que ahora este trozo o página esta
    realmente en memoria principal.
  • Se ejecuta nuevamente la instrucción que fue
    interrumpida.
  • El Pi accesa a la página (dir lógica) que está en
    memoria física.

10
Adm. Memoria IV
Memoria Virtual Paginación por demanda version 2
  • Memoria virtual parte sin páginas y entra el P0
  • Ocurre inmediatamente un FALLO DE PAGINA, esto no
    causa una falla del programa, sino que, esta
    primera página, se cargará en memoria.
  • Cada fallo, producirá la carga de una nueva
    página
  • Si un programa produce fallas por instrucciones
    equivocadas (NO FALLAS DE PAGINAS), produce una
    baja en el desempeño del sistema.
  • def localidad de referencias, es una
    característica de la mayoría de los programas,
    que hace que no se produzca la anomalía anterior.
  • Soporte de HW
  • Idéntico al esquema de paginación con
    particiones variables
  • TP
  • Area de swapping o Backing store
  • Soporte de SW
  • Se requieren algoritmos complejos y rápidos.
  • Intercambio cada vez que ocurre un FALLO DE
    PAGINA, el algoritmo debe deshacer la instrucción
    /intercambio/ volver a ejecutarla.

11
Adm. Memoria IV
Memoria Virtual Paginación por demanda análisis
  • TAM tiempo de acceso a la memoria 10..200nseg.
  • P probabilidad de la ocurrencia de un FALLO DE
    PAGINA 0..1.
  • Fórmulapara el cálculo de tiempo efectivo Te
  • Te (1-p)TAM pTFP
  • TFP (tiempo de fallo de página) acciones que
    involucra
  • Trap al S.O.
  • Almacenar, status del Pi en la estructura PCB,
    más contenido de los registros.
  • Determinar el tipo de interrupción
  • Verificación de correctitud en cuanto a
    referencia de página y búsqueda de la misma en
    disco.
  • Iniciar lectura del disco, traspasando el
    contenido de la página al frame libre de la
    memoria principal.
  • El itinerador debe aprovechar este tiempo
    utilizado en I/o para ejecutar otro proceso
    (context switch)
  • Para retomar el proceso que ha paginado, el disco
    envia el interrupción de fin de lectura i/o
  • Almacenar el Pj que estaba en estado running y
    validar la interrupción 7.
  • Corregir todas las estructuras de soporte
    (ejTP), el itinerador debe retomar Pi
  • Restaurar PCB completa de Pi, retomando la
    instrucción donde se produjo el FP.

12
Adm. Memoria IV
Memoria Virtual Paginación por demanda análisis
  • Caso práctico, se usan tres variables principales
    para determinar el TFP
  • SI tiempo servicio de la interrupción
  • Lpag tiempo lectura de la página de disco a
    memoria
  • Reinstal restauración del proceso
  • Ejemplo SI Reinstal 1..100x10-6segLpag
    (latencia de HD 16 mseg seek 30 mseg
    transferencia 2)
  • TFP (16302)10-3seg
    20010-6seg48.000.000 ns 200.000ns48.200.000
    ns
  • TAM200nseg
  • Te (1-p)TAM pTFP
  • TAM (TFP-TAM)p 200 48.199.800p
  • Te es altamente dependiente de los dispositivos
    de I/O y de p. Mientras p sea más pequeño,
    endonces la performance será mejor.
  • Es razonable un plt aprox 4x10-6

13
Adm. Memoria IV
Memoria Virtual Reemplazo de páginas
Espacio lógico usuario1
3
V
H
0
4
V
1
PC
ld M
5
V
J
2
I
0
S.O.
M
3
S.O.
1
2
D
Espacio lógico usuario2
B
3
H
6
V
0
A
4
ld M
I
1
B
5
J
2
V
2
D
M
6
A
V
7
E
7
E
3
14
Adm. Memoria IV
Memoria Virtual Reemplazo de páginas
  • En el esquema de Paginacion por demanda, cada
    página generará al menos un FP, la primera vez
    que se utiliza.
  • Ej
  • Pi, 10 páginas, pero ocupa 5, ahorra tiempo en
    transferencia y permite aumentar el grado de
    multiprogramación. Si se dispusiera (mem.
    Física) de 40 frames, se podrían correr 8
    procesos. (manteniendo todos un 50 de necesidad
    de páginas V)
  • Si un Pi repentinamente requiere de todas o casi
    todas sus páginas en frames, entonces se requiere
    un nuevo algoritmo de reemplazo de páginas
  • Buscar la localización de la página en el disco
  • Encontrar un frame libre
  • Si hay entonces se debe usar
  • SINO
  • Mediante un ALGORITMO DE REEMPLAZO, encontrar un
    frame de otro proceso a ser removido (frame
    víctima)
  • Escribir Frame Víctima en disco
  • Leer de disco la página requerida y traspasar
    data al frame libre
  • Actualizar tablasTP y Frames
  • Retomar el proceso desde el punto de vista del
    programador

15
Adm. Memoria IV
Memoria Virtual Reemplazo de páginas
Memoria Principal
TP
Cambo a invalido
Swap out victima
victima
f
2
O
I
vic
1
V
F
Swap in pagina
Cambo a valido
3
4
Px
Cambo a valido
16
Adm. Memoria IV
Memoria Virtual Reemplazo de páginas, análisis
  • En el caso en que no exista ningun frame libre
    esto implica, dos transferencias de páginas
  • Sacar de la memoria hacia el disco
  • Cargar a la memoria desde el disco
  • El problema anterior disminuye la performance,
    una mejora, consiste en agregar un bit.
  • Bit de modificación 1 si la página se ha escrito
    en disco, 0 en caso contrario
  • Cuando se selecciona una PV, el sistema verifica
    el bit de modificación
  • Si está en 0 se escribe sobre el frame sin cargar
    la PV en el disco.
  • Este esquema se puede aplicar a páginas read ONLY

17

Adm. Memoria IV
  • Algoritmos de Reemplazo de páginas
  • Se revisarán algunos algoritmos
  • Criterios de selección, ejemplo, el que presente
    menor probabilidad de falla de página
  • Para poder simular el comportamiento de un
    algoritmo, y posteriormente evaluar su desempeño,
    éste se ejecuta con un string de referencias a
    páginas.
  • Ej. Dada la siguiente secuencia de direcciones
  • 0100, 0412,0103,0632, 0102, 0104,
    0101,0612,
  • 0102,0103,0104,0101,0610,0104,0101,0610,01
    02,0105
  • Si el tamaño de la página es de 100Bytes, el
    string de referencia es
  • 1,4,1,6,1,6,1,6,1,6,1
  • Mientras más grande es la memoria, existirá una
    mayor cantidad de frames libres y se reducirá el
    número de fallos de página.

Nº fallos página
Nº frames
18
Adm. Memoria IV
  • Algoritmos de Reemplazo de páginas
  • Lista
  • FIFO
  • Optimo
  • LRU
  • LRU con aproximación
  • FIFO
  • Es el algoritmo más simple
  • Cada página es asociada con el tiempo en que
    ingresó a memoria
  • Cuando ocurre un fallo de página, la víctima es
    la mas antigua, en otras palabras, la primera en
    entrar.
  • Este algoritmo se puede optimizar, pues no es
    necesario almacenar el tiempo, basta
  • Reemplazar esto por una estructura de datos de
    cola FIFO, para registrar las páginas en memoria
  • Se reemplaza la página que está en la cabeza de
    la cola
  • Ingresa la página en el final de la cola.

19
Adm. Memoria IV
  • Algoritmos de Reemplazo de páginasFIFO,ejemplo

Memoria esta particionada en 3 frames
String de referencia 7 0 1 2 0 3 0 4 2 3 0 3 2 1
2 0 1 7 0 1
7
7
7
2
2
2
4
4
4
0
0
0
7
7
7
0
0
3
3
2
2
2
1
1
1
0
0
0
3
1
0
3
3
3
2
2
2
1
1
1
0
0
t
20
Adm. Memoria IV
  • Algoritmos de Reemplazo de páginasObservaciones
  • Es el algoritmo mas simple, tiene las siguientes
    ventajas
  • Sencillo de entender
  • Sencillo de programar
  • Sin embargo, puede presentar algunos problemas
    como
  • Un módulo instalado al comienzo del programa
    puede ser muy utilizado,
  • sin embargo, se saca, pues el algoritmo no
    considera este factor.
  • Se puede llevar un módulo del programa que se
    usará muy poco en un momento
  • Inadecuado del tiempo.
  • La principal anomalía es la llamada de Belady,
    que ocurre, cuando el Nro de fallos
  • de página puede aumentar, si se aumenta el Nº de
    marcos de la memoria.
  • Probar SR 1,2,3,4,1,2,5,1,2,3,4,5 con 3 frames
    se comporta mejor que con 4 y
  • se mantiene estable (Nº fallos) aunque se
    aumenten los frames.

21
Adm. Memoria IV
  • Algoritmos Optimo
  • Debido al fenómeno de Belady, se hace necesario
    desarrollar algoritmo que minimice
  • El nº de fallos de páginas y que no presente esta
    anomalía.
  • Def ALG. Optimo
  • Reemplazar la página que no será usada por el
    mayor período de tiempo.
  • Si se lograra este algoritmo, se produciría un
    mínimo de fallos de página
  • Sin embargo, el óptimo absoluto es una utopía,
    pues se requiere saber de
  • ANTEMANO, el string de referencia. oráculo?
  • Por otro lado es ótil para comparar el desempeño
    de los demás algoritmos frente al
  • óptimo.
  • Ej 3 frames, SR

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7
7
7
2
2
2
2
2
7
0
0
0
0
0
4
0
0
1
3
1
3
3
1
1
22
Adm. Memoria IV
  • Algoritmos LRU
  • El algoritmo óptimo no es realizable.
  • Es posible implementar una aproximacón del
    algoritmo al óptimo.
  • La idea es usar el pasado reciente como una
    aproximación del futuro cercano
  • Comportamiento futuro del proceso en cuanto a su
    uso de memoria. (fururo próximo)
  • Def ALG. LRU
  • Reemplazar la página que no haya sido usada
    por el mayor período
  • de tiempo.
  • Least Recently Used Aproximation Algorithm.
  • Ideaasociar a cada página el tiempo que fue
    usada por última vez. La página
  • víctima se obtiene de las páginas que tienen un
    mayor tiempo SIN USO.
  • Ej 3 frames, SR

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7
7
7
2
2
4
4
0
4
1
1
1
0
0
3
3
0
0
0
0
0
3
0
1
3
1
3
2
2
2
2
2
7
23
Adm. Memoria IV
  • Algoritmos LRU,implementación
  • Es un algoritmo razonable, pero requiere apoyo
    de HW el problema más relevante
  • es encontrar un orden para los frames basados en
    el tiempo de último uso.
  • Se han desarrollado dos formas básicas
  • Contadores
  • Stack
  • CONTADORES
  • Se asocia a cada entrada de la tabla un dato que
    debe registrar el tiempo de uso,
  • además se agrega a la CPU un contador. Este
    contador se incrementa en cada
  • Referencia a memoria.
  • Cuando se requiere una página, este contador se
    copia en el campo tiempo de uso
  • de la tabla TP.
  • Se requiere desarrollar un proceso de búsqueda
    sobre la tabla TP.
  • (Revisar los tiempos).
  • - Se debe considerar el manejo de un posible
    overflow del contador.

24
Adm. Memoria IV
  • Algoritmos LRU,implementación
  • STACK
  • Se mantiene una estructura de datos de tipo stack
    con los números de página.
  • Cada vez que una página es requerida o
    referenciada, se mueve del stack y se
  • Pasa al tope.
  • Con estemecanismo, se mantiene en el tope del
    stack, la página más recientemente
  • usada y en la cola del stack indica la página
    LRU.
  • Ej SR 5 8 1 8 2 1 2 3 2 3 8 2 3 1 2

b
3
a
8
2
3
1
2
8
1
5
5
STACK, antes de a
STACK, después de b
25
Adm. Memoria IV
  • Algoritmos LRU,implementación aproximada
  • Pocos sistemas computacionales implementan, LRU
    con el HW suficiente
  • Muchos no tienen simplemente soporte de HW
  • La implementación por software es costosa en
    tiempo, overhead.
  • Objetivo de los algoritmos de aproximación es
  • Usar estrategias de reemplazo que hagan
    decisiones razonables , y que
  • Tengan un bajo overhead en su realización.
  • Algoritmos de aproximación
  • NUR (Not used recently)
  • LFU (Least frecuently used)
  • Segunda oportunidad (Second Chance)

26
Adm. Memoria IV
  • Algoritmo NUR,
  • Principio
  • Las paginas que no se han usado recientemente, es
    poco probable que se usen
  • proximamente
  • Implementación
  • Una alternativa , poco costosa es agregar a la TP
    un bit de referencia y un bit de
  • modificación.
  • Se inicializan ambos bits en 0
  • El bit de referencia es puesto en 1 cada vez que
    la página es referenciada el
  • de modificación , cáda vez que es
    modificada.
  • Los bits se refrescan periódicamente
  • El criterio para elegir la página víctima se basa
    en un esquema de prioridad
  • Prioridad referencia modificación
    observación
  • 1 0
    0 no referenciado
    recientemente ni modificado
  • 2 0
    1
  • 3 1
    0 referenciado
    recientemente pero no modificado
  • 4 1
    1

27
Adm. Memoria IV
  • Algoritmo LFU,
  • Principio
  • Las paginas que se referencian menos, tienen
    menos probabilidad que se
  • referencien en un futuro cercano.
  • Implementación
  • Una alternativa , es usar un contador de
    referencias para cada página
  • Se reemplaza página con menor número de
    referencias
  • En caso de existir empate, se elige cualquiera de
    ellas (orden parcial).
  • Problema
  • Se puede reemplazar página recién traída a
    memoria

28
Adm. Memoria IV
  • Algoritmo Segunda Oportunidad,
  • Usar un bit de referencia para cada marco de
    página
  • El conjunto de marcos o frames debe considerarce
    como una lista circular
  • Ante un fallo de página se recorre la lista en el
    sentido del reloj, buscando la primera
  • página que no ha sido referenciada, tiene
    su bit 0 y la reemplaza.
  • Si al verificar un bit de referencia , éste está
    en 1, entonces, dar una segunda
  • oportunidad, seteando el bit en 0,
    continuando la búsqueda en sentido de reloj
  • Si la página no vuelve a ser referenciada en una
    vuelta, será reemplazada.

29
Adm. Memoria IV
Asignación de frames
  • Criterios de asignación
  • Distribución equitativa de frames libres a cada
    proceso
  • Reconocer que los procesos requieren diferentes
    cantidades, lo que deriva en
  • Procesos má grandes reciben más o
  • Procesos más prioritarios reciben más
  • Un factor importante es cómo hacer el reemplazo
  • Sobre los marcos asignados al procesolocal
  • Sobre cualquier marcoglobal
  • El reemplazo global puede adueñarse de marcos de
    otros procesos(útil en el esquema de prioridad),
    perjudicando el desempeño de otros.
  • El reemplazo local mantiene constante el número
    de frames del proceso, pero limita a otros
    procesos, de usar frames con páginas poco usadas.
  • En general, se prefiere el reemplazo global, es
    más fácil de implementar.

30
Adm. Memoria IV
Trashing
  • Si el número de frames asignados a un proceso es
    menor que un mínimo, se debe suspender la
    ejecución del proceso y hacer un swap out.
  • Cuando un proceso no tiene en memoria las páginas
    suficientes , genera fallas de página en forma
    muy frecuente. El sacar una página en uso
    significa generar nuevas fallas de página.
  • Escenario del trashing
  • El S.O. Monitorea la utilización de la CPU.
  • Si la utilización es baja, aumenta el grado de
    multiprogramación, introduciendo un nuevo proceso
    a memoria.
  • Al entrar un nuevo proceso, comienza generando
    fallas de página. El servicio de fallas de página
    usa swapping
  • Al esperar los procesos el servicio de
    paginació, la utilización de la CPU disminuye.
  • El itinerador, al ver una disminución de
    actividad de la CPU, aumenta el grado de
    multiprogramación. Provocando un efecto de bola
    de nieve.

31
Adm. Memoria IV
Trashing
  • Gráfica del efecto del trashing

32
Adm. Memoria IV
Trashing
  • Prevención del trashing
  • Se debe proporcionar a cada proceso tantos frames
    como sea necesario.
  • Determinación de cuantos frames son necesarios
  • Una técnica es la llamada working set (conjunto
    de trabajo)
  • No habrá trashing si hay suficientes marcos para
    acomodar un working set.
  • Se comienza observando cuantos frames esta usando
    el proceso.
  • Con esto se define el modelo de localidad del
    proceso en ejecución
  • Concepto de localidad, se refiere a que los
    procesos tienden a referenciar la memoria en
    patrones no uniformes y altamente localizados
  • Localidad temporal si se refeencia una
    localización de memoria, es probable que esta
    última se referencie próximamente de
    nuevo.(ciclos repetitivos, uso frecuente de una
    misma subrutina,variables globales)
  • Localidad espacial si se refeencia una
    localización de memoria, es probable que a
    continuación se referencie una localización
    contigua o vecina.(Ejecución sentencias
    secuenciales,recorrido de arreglos)

33
Adm. Memoria IV
Trashing
  • Prevención del trashing
  • En la medida que el proceso se ejecuta va
    cambiando de localidad en localidad.
  • Por ejemplo, cuando se llama a una subrutina
    grande, se define una nueva localidad
  • La estrategia es asignar tantos frames como
    requiera la nueva localidad
  • Otro método de prevención es el medir la
    fecuencia de fallas de página de un proceso
  • Asignar más marcos si la frecuencia supera un
    límite fh
  • Quitar marcos si la frecuencia de fallas es
    inferior a una cota fi
  • Si la frecuencia aumenta y no hay marcos libres,
    suspender algún proceso
  • Los frames libres se pueden distribuir entre los
    procesos con frecuencias más altas
Write a Comment
User Comments (0)
About PowerShow.com