Teora de Sistemas Operativos Administracin de la memoria

  • Slides: 36
Download presentation
Teoría de Sistemas Operativos Administración de la memoria

Teoría de Sistemas Operativos Administración de la memoria

Administración de la Memoria Componentes de un SO Admin de Procesos Admin de Memoria

Administración de la Memoria Componentes de un SO Admin de Procesos Admin de Memoria Admin de Archivos Admin de I/O 2

Administración de la Memoria Técnicas de Administración de Memoria 3

Administración de la Memoria Técnicas de Administración de Memoria 3

Administración de la Memoria Técnicas de Administración de Memoria Monoprogramación Multiprogramación particiones fijas •

Administración de la Memoria Técnicas de Administración de Memoria Monoprogramación Multiprogramación particiones fijas • fragmentación interna particiones variables • Espacios de memoria • Fragmentación externa Estrategias para el llenado de espacios de memoria 4

Administración de la Memoria Virtual Problema: Kernel Ejecutar un programa que necesita más memoria

Administración de la Memoria Virtual Problema: Kernel Ejecutar un programa que necesita más memoria que la que hay disponible. 1000 Kb 400 Kb 200 Kb ¿? 600 Kb Memoria Real 5

Administración de la Memoria Virtual Solución: Hacer creer al programa que Se está ejecutando

Administración de la Memoria Virtual Solución: Hacer creer al programa que Se está ejecutando en un espacio de direcciones de tamaño apropiado. Kernel 400 Kb 200 Kb 1000 Kb + 400 Kb ¿? 600 Kb Memoria Real 6

Administración de la Memoria Virtual • Idea base: tamaño combinado del programa, los datos

Administración de la Memoria Virtual • Idea base: tamaño combinado del programa, los datos y la pila de ejecución puede exceder la cantidad de memoria real disponible para él. • El sistema operativo mantiene aquellas partes del programa que se están utilizando en cada momento en la memoria principal y el resto permanece en el disco. 7

Administración de la Memoria Virtual Estadísticamente, se ha demostrado: Todo programa o proceso no

Administración de la Memoria Virtual Estadísticamente, se ha demostrado: Todo programa o proceso no utiliza todo su espacio de direcciones en todo momento Los programas tienden a usar mucho las instrucciones que están cercanas a la localidad de la instrucción que se está ejecutando actualmente. 8

Administración de la Memoria Virtual Estructura del bus de memoria 9

Administración de la Memoria Virtual Estructura del bus de memoria 9

Administración de la Memoria Virtual Unidad de Administración de Memoria (MMU) Es un conjunto

Administración de la Memoria Virtual Unidad de Administración de Memoria (MMU) Es un conjunto de chips, que asocian las direcciones virtuales con las direcciones de memoria física. La idea central de la memoria virtual es que dirección es diferente de localización física. 10

Administración de la Memoria Virtual Resumiendo Memoria Física Memoria Virtual MMU 11

Administración de la Memoria Virtual Resumiendo Memoria Física Memoria Virtual MMU 11

Administración de la Memoria Virtual Implementación Memoria Virtual Paginación Segmentación 12

Administración de la Memoria Virtual Implementación Memoria Virtual Paginación Segmentación 12

Administración de la Memoria Virtual Implementación: Paginación • La memoria física es particionada en

Administración de la Memoria Virtual Implementación: Paginación • La memoria física es particionada en bloques de tamaño fijos llamados frames. • La memoria lógica es particionada en bloques del mismo tamaño llamados páginas. • Cada dirección generada por la CPU es dividida en 2 partes: numero de pagina (p) y offset en la página (d) • El número de página es usado como índice en una tabla de páginas. • La tabla de páginas contiene la dirección base de cada página en la memoria física. 13

Administración de la Memoria Virtual Implementación: Paginación Páginas Frames Memoria Física Memoria Virtual 14

Administración de la Memoria Virtual Implementación: Paginación Páginas Frames Memoria Física Memoria Virtual 14

Administración de la Memoria Virtual Implementación: Paginación Páginas Memoria Virtual Frames Memoria Física Espacio

Administración de la Memoria Virtual Implementación: Paginación Páginas Memoria Virtual Frames Memoria Física Espacio de Dir. Virtuales: 64 kb Tamaño de páginas : 4 kb 16 páginas Memoria Física Tamaño de Frames 8 frames : 32 kb : 4 kb 15

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b # página d Desplazamiento

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b # página d Desplazamiento 16

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) Estado de la Página : Memoria o Disco, Modificada, etc. Nº del frame que le corresponde en memoria física 17

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) El bit de caching. Si esté esta desactivado, cuando se produzca una operación de E/S, el sistema operativo busca la información en el hardware y no una copia antigua en el caché. 18

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) El bit de referencia se enciende cada vez que la página es referenciada, bien sea para lectura o escritura. Sirve para apoyar al sistema operativo, para seleccionar la página a salir cuando se presenta un defecto de página. Las páginas no 19 referenciadas son unas muy buenas candidatas a salir.

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) El bit de modificación se setea cada que la página sufre algún cambio en memoria real. Se utiliza cuando la página es seleccionada para salir de la memoria real(fallo de página). Si el bit está seteado, entonces la página se escribirá sobre el disco. Si no, sólo se desecha 20 pues la imagen en disco es igual a la existente en la memoria real.

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) Los bits de protección indican el tipo de acceso permitido. Estos generalmente se conocen como rwx y dependiendo de si están seteados, la página se podrá leer (r), escribir (w) o ejecutar (x). . 21

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) El bit presente/ausente, indica si la página reside en la memoria real o no. Si lá página no está presente (0) y se referencia, se producirá un fallo de página. 22

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) La dirección del marco de página, guarda la dirección en memoria real donde se encuentra la página. 23

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b b’ d En la

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b b’ d En la TDV, se busca cuál es el frame que corresponde a la página b. En este caso es b’. 24

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ b’

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ b’ + d A b’ se le agrega el Desplazamiento d y se Obtiene la dirección física. 25

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ b’

Administración de la Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ b’ + d Dirección Física. 26

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Sucede cuando se está

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Sucede cuando se está buscando una página cualquiera y ésta no está cargada en memoria problemas para el administrador de memoria. tiene que ir a buscar la página al disco y cargarla en memoria. Lo anterior si es que hay espacio. . . 27

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Si no hay espacio,

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Si no hay espacio, debe escoger una página y enviarla a disco. En la TDV debe actualizar el registro de ésta página indicando que ya no está en RAM. Y después cargar la página deseada desde el disco hacia la memoria principal. 28

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Lamentablemente, todo esto es

Administración de la Memoria Virtual Implementación: Paginación Fallos de página Lamentablemente, todo esto es muy perjudicial para el rendimiento del sistema. ¿Por qué? 29

Administración de la Memoria Virtual Implementación: Paginación Fallos de página 30

Administración de la Memoria Virtual Implementación: Paginación Fallos de página 30

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. FIFO:

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. FIFO: Se escoge la página que haya entrado primero y esté cargada en RAM. No es eficiente porque no aprovecha ninguna característica de ningún sistema. Es justa e imparcial. 31

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La no usada recientemente: Se escoge la página que no haya sido usada (referenciada) en el ciclo anterior. Pretende aprovechar el hecho de la localidad en el conjunto de trabajo. 32

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La usada menos recientemente: Escoge la página que se usó hace más tiempo Idea: como ya tiene mucho sin usarse es muy probable que siga sin usarse en los próximos ciclos. 33

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La no usada frecuentemente: Escoge cualquier página que se use muy poco, menos veces que alguna otra. Toma en cuenta la cantidad de referencias que Tiene una página. 34

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La menos frecuentemente usada: Busca en forma exhaustiva aquella página que se ha usado menos que todas las demás. 35

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. En

Administración de la Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. En forma aleatoria: Elige cualquier página sin aprovechar nada. Es justa e imparcial, pero ineficiente. 36