Beruflich Dokumente
Kultur Dokumente
Antecedentes Paginacin por Demanda Desempeo de la Paginacin por Demanda Reemplazo de paginas Algoritmos de Reemplazo de paginas Localizacin de Marcos (Frames) Hiperpaginacin (Thrashing) Otras Consideraciones Segmentacin por Demanda
Antecedentes
Memoria Virtual separacin de la memoria lgica del
usuario de la memoria fsica. Solo parte del programa necesita estar en memoria para su ejecucin. El espacio de direcciones lgicas puede ser mucho mas grande que el espacio de direcciones fsicas. Permite que las paginas sean intercambiadas.
Introducir una pagina en la memoria solo cuando es necesario. Necesita menos E/S Necesita menos memoria Respuesta mas rpida Mas usuarios
Swapping perezoso (paginador): Pagina es necesaria referenciala No esta en la memoria Traerla a la memoria Referencia invalida Abortar
Bit Valido-Invalido
Esquema para distinguir las paginas que estn en la memoria de las que estn en el disco: Cada tabla de pagina tiene asociado un bit de validoinvalido (1 en-memoria, 0 no-esta-en-memoria, o es ilegal) Inicialmente el bit es ajustado a 0 para todas las entradas. Ejemplo de una instantnea de tabla de pagina.
Frame # Bit validoinvalido
1 1 1 1 0
M 0 0
Tabla de paginas
Fallo de Pgina
1.
Si existe una referencia a una pagina, la primer referencia iniciara un trap al SO pagina faltante El SO busca en la tabla interna del Bloque de Control de Procesos para decidir: Referencia invalida abortar. Solo no esta en la memoria.
2. 3. 4. 5.
Consigue un marco (frame) vaci. Intercambia la pagina dentro del marco. Reajusta tablas (interna al proceso y tabla de paginas, bit de validacin = 1). Reiniciar la instruccin que se interrumpi.
0 p 1.0
la pagina que esta siendo reemplazada ha sido modificada y por lo tanto necesita ser intercambiada (al disco).
Tiempo de acceso a memoria = 100 nanosegundos Tiempo de atencin de falta de pagina = 25 milisegundos
EAT = (1 p) x 100 nanosegundos + p x 25 milisegundos = (1 p) x 100 + p x 25, 000 000 nanosegundos = 100 + 24, 999 900 x p nanosegundos
memoria,que no se encuentre realmente en uso (victima), y la intercambia. Algoritmo 7 Desempeo necesita un algoritmo cuyos resultados den un numero mnimo de faltas de pagina.
Pgina Victima
Reemplazo de Pgina
Previene la sobre-distribucin de memoria
por medio de la modificacin de la rutina de servicio por falta de pagina que incluye el reemplazo de pagina. costo fijo de la transferencia de pagina solo las paginas modificadas son escritas en el disco.
Se usa el bit de modificado (sucio) para reducir el El reemplazo de paginas completa la separacin entre
memoria lgica y memoria fsica Memorias virtuales grandes pueden ser atendidas por memorias fsicas pequeas.
Un total de 15 faltas de pagina. Esperamos que a mayor numero de marcos menor numero de fallos de pagina pero:
Anomala de Belady
Algoritmo ptimo
Reemplaza paginas que no sern usadas por un largo periodo de tiempo. Es dos veces mejor que el reemplazo FIFO ( 9 faltas de pagina en este ejemplo) Cmo sabes cual pgina reemplazar?.Requiere un conocimiento futuro Presentado por Belady y actualmente usado para medir que tan bien se desempea un algoritmo.
La pgina que no se ha usado por mas tiempo. Requiere del conocimiento del pasado:
Implementacin de un contador
Cada registro de pagina tiene un contador que copia el reloj dentro del contador; todo el tiempo la pagina es referenciada a travs de este registro. Cuando una pagina necesita ser cambiada, mira a los contadores para determinar cual va a cambiar.
Segunda oportunidad
Necesita bit de referencia. Reemplazo por medio de reloj. Si la pagina a ser reemplazada (de acuerdo al reloj) tiene el bit de referencia = 1. entonces: Ajusta el bit de referencia a 0. Deja la pagina en memoria. Remplaza la siguiente pagina de acuerdo a las mismas reglas.
Pgina reemplazada
Algoritmos de Contador
Mantiene un contador con el numero de referencias
que han sido hechas a cada pagina.
reemplaza la pagina con el contador mas pequeo. mas grande basado en el argumento de que la pagina con el contador mas pequeo probablemente acaba de ser trada a la memoria y tiene an que ser usada.
Ejemplo:
IBM 370 6 paginas para manejar la instruccin SS MOVE : 2 paginas abarca la instruccin de 6 bytes. 2 paginas para traerla. 2 paginas para llevarla.
Distribucin Fija
Asignacin equitativa ejemplo, si existen 100 marcos y 5
procesos, le da a cada uno 20 paginas. del proceso:
S = si
Reemplazo Local
Hiper-paginacin (Thrashing)
Sobre-paginacin
un proceso esta ocupado intercambiando pginas de entrada y de salida la mayor parte del tiempo. introduce un nuevo proceso al sistema y se emplea un algoritmo de reemplazo de paginas global Si un proceso no tiene suficientes pginas, la relacin de paginas faltantes es muy alta. Esto lleva a: Utilizacin baja del CPU. El sistema operativo piensa que debe de incrementar el grado de multiprogramacin. Procesos diferentes son agregados al sistema.
Diagrama de Thrashing
Utilizacin de la CPU hiperpaginacin
Grado de multiprogramacin
por qu funciona la paginacin? Modelo de Localidad de referencia: conjunto de pginas que se estn usando activamente juntas; por ejemplo, si una tarea esta ejecutando un ciclo, o las llamadas de subrutina (dentro de la subrutina), o las variables multidimensionales como: las matrices o las tablas. Procesos migran de una localidad a otra. Las localidades pueden traslaparse.
numero total de paginas en la mas reciente (ventana de conjunto de trabajo) si muy pequeo no abarcara la localidad de referencia completa. si grande abarcara varias localidades. si = abarcara el programa completo.
D = WSSi demanda total de marcos Si D > m Hiper-paginacin Poltica: si D > m, entonces suspende uno de los procesos.
Limite inferior
Otras Consideraciones
Prepaginacin: Un intento por evitar el alto nivel de
paginacin inicial. Consiste en traer a la memoria en una sola operacin todas las pginas que se necesitarn (Conjunto de trabajo)
OS/2 distribuye la memoria en segmentos, y mantiene El descriptor de segmento contiene un bit valido para
Si el segmento esta en la memoria-principal, el acceso continua, Si no esta en memoria, el segmento falta. indicar si el segmento se encuentra actualmente en la memoria.