MEMORIA VIRTUAL PAGINACIÓN

Slides:



Advertisements
Presentaciones similares
IMPLEMENTACION CONTIGUA Y NO CONTIGUA
Advertisements

GESTION DE MEMORIA.
Administración de memoria
Administración de Memoria Virtual
Administración de procesos Lic. Orlando Zamora Rdz.
Sistemas Operativos Gestión de Memoria.
Planificación de Monoprocesadores
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Introducción a los Sistemas Operativos Memoria Virtual
UNIDAD 2. ADMINISTRACION DE PROCESOS Y DEL PROCESADOR
Modelo de procesos de dos estados
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Windows XP sp3.
Teoría de lenguajes y compiladores
ADMINISTRACIÓN DE MEMORIA
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Robiro A. Asuaje L.23/08/20141 Organización de la Memoria SISTEMAS OPERATIVOS. Universidad Centro-Occidental “ Lisandro Alvarado ” Decanato de Ciencias.
Direcciones físicas y direcciones virtuales (lógicas)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Sistemas Operativos Procesos.
Gestor de memoria.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
PAGINACIÓN Y SEGMENTACIÓN
El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones que le indiquen cómo utilizar los recursos.
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
Tablas de Hash.
Administración de Memoria Memoria Virtual
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Características de un sistema operativo
Antecedentes Memoria virtual – separación de la memoria lógica de la física Sólo parte del programa necesita estar en memoria en un momento dado para.
Planificación de Procesos
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Gestión de procesos Sistemas Operativos Edwin Morales
Tema VII Memoria Virtual.
Tema 6. Administración de memoria
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Memoria virtual.
Gestión de Memoria.
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Estructura de los Sistemas Operativos
Gestión de Memoria.
GESTION DE ALMACENAMIENTO
GESTION DE ALMACENAMIENTO
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.
Elementos y tipos de sistemas operativos
Memoria Virtual Msc. Rina Arauz.
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
Gestión de Memoria – Parte 2
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

MEMORIA VIRTUAL PAGINACIÓN

MEMORIA VIRTUAL Método para conseguir que la suma de los espacios de pila, datos y texto de un programa pueda ser mayor que el tamaño físico de la memoria disponible para el. Cada proceso se asigna un área de direcciones contiguo. El SO mantiene en memoria solamente las partes del programa que se están utilizando y mantiene en disco (intercambiadas) el resto. Sirve para sistemas mono y multiprogramados. Permite optimizar el uso de la memoria, al mantener en disco partes del proceso poco usadas (rutinas de atención a errores poco frecuentes, funciones de uso esporádico, datos no usados, . . . ) La memoria virtual se implementa normalmente mediante paginación.

OVERLAYS Una vez que surgió la multiprogramación, los usuarios comenzaron a explorar la forma de ejecutar grandes cantidades de código en áreas de memoria muy pequeñas, auxiliados por algunas llamadas al sistema operativo. Es así como nacen los “overlays”. Esta técnica consiste en que el programador divide lógicamente un programa muy grande en secciones que puedan almacenarse en las particiones de RAM. Al final de cada sección del programa (o en otros lugares necesarios) el programador insertaba una o varias llamadas al sistema con el fin de descargar la sección presente de RAM y cargar otra, que en ese momento residía en disco duro u otro medio de almacenamiento secundario, aunque esta técnica era eficaz (porque resolvía el problema) no era eficiente (ya que no lo resolvía de la mejor manera). Esta solución requería que el programador tuviera un conocimiento muy profundo del equipo de cómputo y de las llamadas al sistema operativo.

PAGINACION DEFINICION La memoria física se divide en bloques de tamaño fijo que llamamos marcos. La memoria virtual se divide en bloques del mismo tamaño llamados paginas. Al ejecutar un proceso se cargan sus paginas en los marcos disponibles. La vinculación de direcciones requiere soporte por hardware (Manejador de Memoria). La paginación remedia la fragmentación externa, pero no la fragmentación interna. Un intento de acceso a una pagina virtual que no este asociada a un marco produce un señalamiento al SO (trap), llamado fallo de pagina.

PAGINACION DEFINICION Como respuesta al fallo de pagina, el SO: 1 Selecciona una pagina poco usada del proceso. 2 Intercambia la pagina a disco. 3 Asigna el marco de la pagina liberada a la pagina virtual que se intenta acceder. Esto supone una forma de reasignación dinámica por bloques de las direcciones de memoria del proceso

PAGINACION CARACTERISTICAS El espacio de direcciones lógico de un proceso puede ser no contiguo. Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames). Se divide la memoria en bloques de tamaño llamados páginas. Se mantiene información en los marcos libres. Para correr un programa de n paginas de tamaño, se necesitan encontrara n marcos y cargar el programa. Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas. Se produce fragmentación interna.

PAGINACION VENTAJAS Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de paginas libres dispersos en la memoria. Es fácil controlar todas las páginas, ya que tienen el mismo tamaño. El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario. Se libera al programador de la restricción de programar para un tamaño físico de memoria, con lo que s e aumenta su productividad. Se puede programar en función de una memoria mucho más grande a la existente.

PAGINACION DESVENTAJA El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesario. Se consume mucho más recursos de memoria, tiempo en el CPU para su implantación. Aparece el problema de fragmentación interna. Así, si se requieren 5K para un programa, pero las paginas son de 4K, deberán asignárseles 2 páginas (8k), con lo que quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias páginas, pero no podrá ser utilizado.

PAGINACION TABLA DE PAGINA Las tablas de paginación o tablas de páginas son una parte integral del Sistema de Memoria Virtual en sistemas operativos, cuando se utiliza paginación estas son usadas para realizar las traducciones de direcciones de memoria virtual (o lógica) a memoria real (o física) y en general el sistema operativo mantiene una por cada proceso corriendo en el sistema. Dado que las tablas de paginación pueden ocupar un espacio considerable de la memoria principal, estas también podrían estar sujetas a paginación, lo que da lugar a una organización paginada de múltiples niveles. Las tablas son mantenidas por el sistema operativo y utilizadas por la Unidad de Gestión de Memoria (MMU) para realizar las traducciones.

PAGINACION Aspectos de diseño El tiempo de asociación debe ser reducido. Soluciones basadas completamente en hardware (utilizando registros) son las más rápidas, pero esto solo es valido si las tablas son pequeña. Cuanto menor sea el tamaño de pagina, menor será la cantidad de fragmentación interna. Cuanto menor sea la pagina, mayor será el numero de paginas que se necesitan por proceso. Un numero mayor de paginas por proceso significa que las tablas de paginas serán mayores. Esto puede significar que una gran parte de las tablas de paginas de los procesos activos deben estar en la memoria virtual.

PAGINACION Aspectos de diseño La memoria secundaria esta diseñada para transferir eficazmente los bloques de datos de mayor tamaño, de manera que es propicia para tamaños de pagina mayores. Si el tamaño de pagina es muy pequeño, estarán disponibles en la memoria principal un gran numero de paginas para cada proceso. Después de un tiempo, todas las paginas de la memoria contendrán parte de las referencias más recientes del proceso. La tasa de fallos de pagina será menor. Cuando se incrementa el tamaño de la pagina, cada pagina individual contendrán posiciones cada vez más distantes de cualquier referencia reciente. La tasa de fallos será Mayo.

Rendimiento de un sistema de paginación El tiempo de acceso efectivo a memoria (tae) para un sistema de Paginación de memoria es: tae = tb + (1 − p) × tam + p × tfallo + tam  Donde:   tb: tiempo medio de búsqueda en la tabla de páginas p: probabilidad de que ocurra un fallo de página tam: tiempo de acceso a memoria tfallo : tiempo de resolución de un fallo de página. Tiene

Rendimiento de un sistema de paginación Tres componentes principales: 1 Atender la interrupción de fallo de página 2 Traer la pagina a la memoria 3 Reiniciar el proceso

DISEÑO DE PAGINACION Hiperpaginacion Definimos un conjunto de trabajo como el número de páginas activas que un proceso tiene en un momento dado. Si el numero de marcos disponibles es inferior al tamaño del conjunto de trabajo, se producirán frecuentes fallos de Pagina (Hiperpaginacion). Un proceso hiperpaginado pasa más tiempo intercambiando paginas que ejecutándose, y puedo ‘robar’ paginas de otros procesos, provocando su Hiperpaginacion.   Consecuencia: reducción drástica del uso de CPU. El Planificador de procesos responde incrementando el nivel de multiprogramación. Este procesos se realimenta positivamente hasta que el sistema se desploma. La Hiperpaginacion se limita si se limita el número de marcos que el proceso puede utilizar (Asignación local), y si se asigna a cada proceso un numero de marcos suficiente.

DISEÑO DE PAGINACION Asig. de marcos en sist. monoprogramados Se asignan paginas al SO y las restantes paginas libres se van asignando tras las correspondientes fallos de pagina a las paginas del proceso Una vez llenas todas las paginas, el manejador utiliza uno de los algoritmos de asignación por demanda para intercambiar paginas de la memoria y habilitar huecos para las nuevas paginas. Variación: el SO reserva parte de su espacio (libre) para apoyar la paginación. El espacio reservado sirve para almacenar temporalmente la pagina entrante mientras se selecciona la pagina que se va a intercambiar.

DISEÑO DE PAGINACION Asig. de marcos en sist. multiprogramados Asignación equitativa: Cada proceso de los n existentes reciben el mismo número de marcos (m/n), de los m marcos del sistema. Asignación proporcional: El número de marcos asignados a un proceso es proporcional a su tamaño.   Asignación con prioridades: El número de marcos asignados a un proceso no depende del tamaño del mismo sino de su prioridad.

DISEÑO DE PAGINACION Número de marcos Límite superior: no se puede asignar más del total de marcos libres. Límite inferior: Numero máximo de referencias necesarias para completar una instrucción: Límite inferior = imax + omax (1 + nmax ) Donde: imax : Numero máximo de palabras que pueden componer una instrucción. omax : Numero máximo de operandos que puede necesitar una instrucción. nmax : Numero máximo de referencias indirectas a memoria necesarias para extraer los datos empleados por la instrucción que más referencias utilice. Si hay induración múltiple, se debe limitar el número de referencias indirectas, de modo que si se supera se produzca una trampa al SO.

DISEÑO DE PAGIANACION Tamaño de página Razones para escoger un tamaño pequeño: - Reduce la fragmentación interna. - Favorece la localidad (lo que se carga en memoria se ajusta a lo que se necesita). Razones para escoger un tamaño grande: - Reduce el tamaño de la tabla de páginas (solo el 1% del Tiempo de Lectura/Escrituras de/a disco, se debe a la transferencia, el 99% son los tiempos de latencia y posicionamiento). -Reduce el número de fallos de página. 

ALGORITMO DE REMPLAZO DEFINICION Tras un fallo de pagina, el SO debe elegir que pagina de memoria deber ser intercambiada disco para hacer sitio a la nueva página que se está solicitando. Criterio general: eliminar páginas poco usadas.

ALGORITMO DE REMPLAZO FIFO Cada entrada de la tabla tiene un registro asociado con el instante de carga de la pagina, o (b) el SO mantiene la tabla de páginas en orden de antigüedad (FIFO) Cuando se produce un fallo de página y no hay marcos libres, se intercambia a disco la página que lleve más tiempo en la tabla.

ALGORITMO DE REMPLAZO SEGUNDA OPORTUNIDAD Es una modificación del FIFO, que consiste en revisar el bit de Referencia de la entrada más antigua: si es un 1, se pone a 0 y se sitúa al final de la cola de páginas. Así sucesivamente hasta que se encuentre una pagina no referenciada.

ALGORITMO DE REMPLAZO DEL RELOJ Las paginas se mantienen en una cola circular, con un apuntador a la paginas más antigua. Si hay un fallo y R=0, la pagina se retira y se avanza el apuntador. Si R=1 se limpia R se avanza hasta encontrar una pagina con R=0. Es tan solo una implementación alternativa del algoritmo de la segunda oportunidad, más eficiente por no requerir movimiento de paginas en la tabla de paginas. Son los punteros los que se desplazan, no las entradas de la tabla.

GRACIAS