EXPOSICION DE TEORIA DE SISTEMAS OPERATIVOS
TEMA:MEMORIA VIRTUAL
SOFIA PORTALANZA
CONTABILIDAD Y AUDITORIA
MEMORIA VIRTUAL
• LA MEMORIA VIRTUAL ES UNA TECNICA QUE PERMITE EJECUTAR PROCESOS QUE PODRIAN NO ESTAR TOTALMENTE EN LA MEMORIA.
Primer Examen de Informática Aplicada 2
ANTECEDENTES
• LAS INSTRUCCIONES QUE SE ESTÁN EJECUTANDO DEBEN ESTAR EN MEMORIA: UNA ESTRATEGIA PARA SATISFACER ESTE REQUISITO ES COLOCAR TODO EL ESPACIO DE DIRECIONES LOGICO EN LA MEMORIA FISICA.
Primer Examen de Informática Aplicada
3
DISPOSITIVA 10
VENTAJAS:• LOS PROGRAMAS YA NO ESTARÍAN
LIMITADOS POR LA CANTIDAD DE MEMORIA FISICA CON QUE SE CUENTA.
• SE PODRÍAN EJECUTAR MAS PROGRAMAS AL TIEMPO
• SE REQUERIRÍA MENOS E/S PARA CARGAR O INTERCAMBIAR CADA PROGRAMA DE USUARIO.
Primer Examen de Informática Aplicada 4
• LA MEMORIA VIRTUAL ES LA SEPARACION ENTRE ENTRE LA MEMORIA LÓGICA DE LOS USUARIOS Y LA MEMORIA FISICA.
• LA MEMORIA VIRTUAL SE PUEDE IMPLEMENTAR CON PAGINACIÓN POR DEMANDA, EN UN SISTEMA CON SEGEMENTACIÓN, SEGMENTACIÓN PAGINADA, SEGEMENTACIÓN POR DEMANDA.
Primer Examen de Informática Aplicada5
PAGINACIÓN POR DEMANDA• CUANDO UN PROCESO SE VA HA TRAER A LA
MEMORIA, EL PAGINADOR ADIVINA CUÁLES SON LAS PÁGINAS QUE SE USARÁN ANTES DE QUE EL PROGRAMA SE INTERCAMBIE DE VUELTA AL DISCO.
• EN LUGAR DE TRAER A LA MEMORIA TODO EL PROCESO, EL PAGINADOR SÓLO TRAE LAS PÁGINAS NECESARIAS.
Primer Examen de Informática Aplicada6
Primer Examen de Informática Aplicada 7
TABLA DE PÁGINAS CUANDO ALGUNAS PÁGINAS NO ESTÁN EN LA MEMORIA PRINCIPAL
Primer Examen de Informática Aplicada 8
PROCEDIMIENTO PARA MANEJAR FALLO DE PÁGINA
• CONSULTAMOS UNA TABLA INTERNA.• SI LA REFERENCIA NO ERA VÁLIDA, SE TERMINA EL
PROCESO; SI ERA VÁLIDA, PERO TODAVÍA NO SE HA TRAÍDO ESA PÁGINA, PROCEDEMOS A TRAERLA.
• ENCONTRAMOS UN MARCO LIBRE.• PLANIFICAMOS UNA OPERACIÓN DE DISCO PARA
LEER LA PÁGINA DESEADA.• MODIFICAMOS LA TABLA INTERNA.• REINICIAMOS LA INSTRUCCIÓN.
DESEMPEÑO DE LA PAGINACION POR DEMANDA
TIEMPO DE ACCESO EFECTIVO= (1-P) X AM+P X TIEMPO DE FALLO DE PÁGINA
AM = TIEMPO DE ACCESO A MEMORIAP = PROBABILIDAD QUE OCURRA UN FALLO DE
PAGINA
Primer Examen de Informática Aplicada 10
REGRESAR
11
SECUENCIA DE UN FALLO DE PÁGINA• Trampa al sistema operativo• Guardar los registros del usuario y el estado del proceso• Determinar que la interrupción fue un fallo de página• Verificar que la referencia a la página fue válida• Leer del disco a un marco libre• Durante la espera, asignar la cpu a algún otro usuario• Interrupción del disco• Guardar los registros.• Determinar que la interrupcion provino del disco• Corregir la tabla de páginas.• Esperar que la CPU se asigne otra vez a este proceso• Restaurar los registros de usuario, el estado de proceso y la
nueva tabla de páginas, y reanudar la instrucción interrumpida..
Primer Examen de Informática Aplicada
Primer Examen de Informática Aplicada 12
REEMPLAZO DE PÁGINASLa rutina de servicio mde fallos de página se modifica así para
incluir el reemplazo de páginas:• Encontrar la página deseada en el disco• Hallar un marco libre:
– Si hay un marco libre, usarlo– Si no, usar un algoritmo de reemplazo de páginas para escoger
un marco víctima.– Escribir la página víctima en el disco; modificar de manera
acorde las tablas de páginas y de marcos.Leer la página deseada y colocarla en el marco recién liberado;
modificar las tablas de páginas y de marcosReiniciar el proceso de usuario
Primer Examen de Informática Aplicada 13
Memoria VirtualMemoria Virtual
Algoritmos de reemplazo.
Marco elegido para intercambio de
página
Página a eliminar
Página a cargar
Memoria Principal
Memoria Secundaria
Primer Examen de Informática Aplicada 14
Causa de la hiperpaginación
• La hiperpaginación da pie a severos problemas de desempeño. El sistema operativo supervisa la utilización de la CPU. Si el aprovechamiento es demasiado bajo, aumentamos el grado de multiprogramación introduciendo un proceso nuevo al sistema. Se emplea un algoritmo de reemplazo de páginas global que remplaza páginas sin fijarse en qué proceso es al que pertenece.
Primer Examen de Informática Aplicada 15
Modelo de Conjunto de Trabajo
• Es el conjunto de la páginas activas de un proceso que son almacenadas en memoria.
• Se define como un número n por proceso.
• Las n páginas más activas del proceso son mantenidas en memoria.
Primer Examen de Informática Aplicada 16
Frecuencia de Fallos de página
• La hiperpaginación tiene una frecuencia de fallos de página elevada; por ello, nos interesa controlar la frecuencia de fallos de pagina
• Si la frecuencia de fallos real excede el límite superior, asignamos otro marco a ese proceso, si la frecuencia se reduce a menos del límite inferior, le quitamos un marco al proceso.
Primer Examen de Informática Aplicada 17
Otras Consideraciones
• La selección de un algoritmo de reemplazo y de una política de asignación son las decisiones más importantes que deben tomarse para un sistema de paginación, pero hay muchas otras consideraciones.
Primer Examen de Informática Aplicada 18
Prepaginación
• La prepaginación no es más que un intento por evitar un alto nivel de paginación inicial para lo cual existe una estrategia de traer a la memoria en una sola operación todas las páginas que se necesitarán.
Primer Examen de Informática Aplicada 19
Tamaño de la página
• A menor tamaño de páginas, menor cantidad de fragmentación interna.
• A menor tamaño de página, más paginas se necesitan por proceso.
• Más páginas por proceso significa páginas de tablas de página mayores.
• Mayores tablas de páginas significa mayores porciones de tablas de paginas en memoria virtual.
Primer Examen de Informática Aplicada 20
Interbloqueos de E/S • Es común que E/S se
implemente con un procesador de E/S aparte. Por ejemplo, generalmente se proporciona a un controlador de cinta magnética (en hardware) el número de bits que debe transferir y una dirección de memoria para el buffer como lo apreciamos en el grafico.
Primer Examen de Informática Aplicada 21
Procesamiento en Tiempo Real
• Es el uso de la memoria para datos activos, y transferir los datos inactivos al disco, aumentaremos el rendimiento global del sistema. No obstante los procesos individuales podrían salir perjudicados al tener que generar fallos de páginas adicionales durante su ejecución.
Primer Examen de Informática Aplicada 22
Segmentación por demanda
• Un proceso no necesita tener todos los segmentos cargados en memoria para ejecutar. Solamente se deben cargar en memoria aquellos que estén siendo activamente utilizados.
• Una vez detectada la necesidad de un segment fault, se utiliza la siguiente técnica:
Primer Examen de Informática Aplicada 23
• Verificar si hay suficiente memoria libre para acomodar el segmento. Si no hay suficiente memoria libre, se puede llegar a utilizar compactación de memoria
• Si luego de la compactación sigue sin haber espacio para acomodar el segmento se debe producir un reemplazo de segmento.
• El segmento al final de la lista es seleccionado y es swappeado a disco.
• Si el nuevo espacio libre es suficientemente grande para acomodar el segmento de carga. Si no se repite el paso 3. hasta obtener un espacio suficientemente grande.