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.

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

III - Gestión de memoria
Administración de memoria
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
ADMINISTRACIÓN DE MEMORIA
MEMORIAS Y GESTIÓN DE MEMORIAS
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
Direcciones físicas y direcciones virtuales (lógicas)
Paginación-Segmentación Fundamentos Translación de Direcciones Tabla de páginas Segmentación Emely Arráiz Ene-Mar 08.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
PAGINACIÓN Y SEGMENTACIÓN
PARTICIÓN DE DISCOS - HERRAMIENTAS
Estructura y Tecnolología de Ordenadores
Administración de Memoria Memoria Virtual
SOFTWARE DE PROGRAMACIÓN
1 Memoria Virtual Capítulo 8. 2 Estructuras de Hardware y Control Todas las referencias a memoria son direcciones lógicas y son mapeadas a direcciones.
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
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Contenido Estructura del computador Ejecución de instrucciones
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Tema VII Memoria Virtual.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
Gestión de Memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 04 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Introducción a los SOs.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
ARQUITECTURA DE COMPUTADORES
Estructura de los Sistemas Operativos
Gestión de Memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 05 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Unidad 2 – Gestión de Procesos
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 17 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
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
Arquitectura de Computadores I
Memoria Virtual Msc. Rina Arauz.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
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.
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

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 Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

AGENDA La Memoria Virtual Memory Management Unit (MMU) 07/09 – 11/09Jerarquía de memoria Jerarquía de Memoria y Proyecto – 18/09 Memoria virtual y la MMU 3er Examen Parcial

Memoria Virtual Al igual que las caches para el acceso rápido de las instrucciones y datos, la memoria RAM puede actuar como “cache” de la memoria secundaria. Objetivos: –Que los procesos puedan compartir la memoria de forma eficiente y segura. Proceso = Programa en ejecución. –Eliminar a los programas los límites de una memoria principal pequeña. –Protección. Cada programa se ejecuta (funciona) dentro de su propio espacio de direcciones: Un rango de localidades de memoria accesibles sólo por este programa.

Memoria Virtual La memoria virtual implementa la traducción del espacio de direcciones de un programa a direcciones físicas. Esta traducción asegura la protección de los espacios de direcciones. Se libera al programador de la responsabilidad de manejar dos niveles de memoria.

Memoria Virtual Un bloque de memoria virtual lo denominaremos Página. Un fallo (miss) en la memoria virtual lo denominaremos Fallo de página. El procesador produce una dirección virtual que es traducida en una dirección física.

Memoria Virtual La memoria virtual facilita la carga de programas, al poder realizar sin complicaciones relocalizaciones. En memoria virtual, las direcciones son picadas en Número de página virtual y Desplazamiento de página

Memoria Virtual Un fallo de página suele tomar millones de ciclos de reloj. Por esta razón: 1.Las páginas suelen ser grandes: De 4 a 64 KB. 2.Se prefieren las jerarquías que reducen los fallos de página (Ej: Caches totalmente asociativas). 3.Los fallos de página se manejan por software. 4.Se utiliza write-back (Write-through resulta impensable) Veamos: Técnicas de organización de la memoria

Particiones fijas

Particiones variables

Memoria Virtual y la MMU Usar la DRAM como una cache de la Mem. Secundaria: –El espacio de direcciones de un proceso puede exceder la capacidad de la memoria física disponible –La suma de todos los espacios de direcciones de múltiples procesos puede exceder la capacidad de la memoria física Simplificar el manejo de la memoria –Múltiples procesos residen en memoria principal. Cada proceso con su propio espacio de direcciones. –Sólo el código y datos “activos” se encuentran realmente en memoria. –Se reserva más memoria para el proceso a medida que se requiere

Protección Un proceso no puede interferir con otro –Ellos operan en diferentes espacios de direcciones Los procesos de usuario no pueden accesar información del sistema de forma directa Cada sección de espacios de direcciones tiene sus permisos

Memory Management Unit Provee los servicios principales de gestión de tareas Considera que cada programa corre en su espacio privado La MMU simplifica la programación de tareas de aplicación proveyendo recursos para el manejo de la memoria virtual –Actúa como un traductor: Convierte direcciones (lógicas) de programas y datos a direcciones físicas reales –Permite la reubicación de los programas con direcciones virtuales a cualquier parte de la memoria

Memory Management Unit CPUMMU Memoria Principal Dirección lógica Dirección física Traduce direcciones A continuación: Formas de implementar la Memoria Virtual

Manejo de Memoria basada en Segmentación El programa ve su memoria como un conjunto de segmentos: Programa principal, datos, pila, tabla de símbolos, variables globales, etc. Cada programa tiene su propio conjunto de segmentos privados Cada acceso a memoria es realizado a través de un selector de segmento y una compensación (offset) dentro del segmento Así, cada programa tiene su propia vista privada de la memoria y puede coexistir transparentemente con otros programas

Generación de dirección basada en segmentos Base: Dirección base del segmento Dirección lógica: Compensación dentro del segmento Borde: Límite del segmento SDT: Almacena la información de acceso y otra sobre el segmento Selector de segmentoDirección lógica Base Tabla descriptora de segmentos (SDT) Dirección física Borde >? Falla de acceso (Excepción) +

Paging (Paginación) El área de la Memoria Lógica puede ser mayor que la Memoria Física Se ubica parte de la Memoria Lógica en Memoria Secundaria Se divide la memoria física en partes iguales (Chunks) Un chunk de la Memoria Virtual (Lógica) se puede asignar a cualquier (un) chunk de la Memoria Física (“página”) Una página ocupa típicamente 4 u 8 KB Un comportamiento totalmente asociativo generaría búsquedas muy lentas. Por esto, se utilizan tablas de páginas

Memoria paginada Traducción El hardware convierte las direcciones virtuales en direcciones físicas a través de una tabla de búsquedas operada por el sistema operativo (Tabla de páginas) CPU Tabla de páginas Memoria Almacenamiento adicional 0 1 N P-1 Direcciones virtuales Direcciones físicas

Fallo de página El CPU genera una dirección virtual que la tabla de páginas indica que no está en memoria Se invoca al manejador de excepciones del S.O. para que mueva la data de disco (o memoria secundaria) a memoria –Se suspende el proceso actual –El S.O. controla el traslado y ubicación de la información Espacio swap: Espacio en disco reservado para el espacio de memoria virtual completo de un proceso.

Manejo de múltiples procesos Cada proceso tiene su propio espacio de direcciones virtuales –El S.O. controla cómo se asignan las páginas virtuales a la memoria física –Una tabla de páginas para cada proceso –Cada programa puede comenzar en la misma dirección (Dirección virtual) Un proceso no debe accesar páginas no asignadas a este

Traducción de la dirección de página Base de página i Página virtualCompensación Concatenar Página físicaCompensación Tabla de páginas

Operaciones de la tabla de páginas Traducción Cálculo de la dirección física (Bit de validez: 0, 1) Protección: –Read-only, read-write, execute –Soporta múltiples modos de operación

Integración de la MV a la Cache La mayoría de las caches: –Son accedidas a través de la dirección física –Permite que múltiples procesos tengan bloques en la cache al mismo tiempo –La cache no requiere preocuparse de problema de protección: Ya que los derechos de acceso son chequeados como parte de la traducción de la dirección CPUCache Memoria Principal Traducción DVDF datos hit miss

Memoria Virtual y Cache Realizar la traducción de la dirección antes de la búsqueda en la Cache –Pero esto podría incluir un acceso a memoria Solución: Las entradas a la tabla de páginas también pueden estar en Cache

Translation Lookaside Buffer (TLB) Pequeña cache en la MMU Guarda las direcciones usadas recientemente para evitar el acceso a la tabla de páginas. Mapea números de páginas virtuales a números de páginas físicas Contiene entradas de las tablas de páginas para una cantidad pequeña de página Valores típicos: –Tamaño: 16 – 512 entradas –Tamaño del bloque: 1 a 2 entradas (de 4 a 8 bytes c/u) –Tiempo de Hit: 0,5 a 1 ciclo de reloj –Miss rate: 0,01% a 1% –Miss penalty: De 10 a 100 ciclos de relog

Traducción con el TLB CPU Búsqueda TLB Cache Memoria Principal Traducción DV hit DV datos hitmiss

Cache L2 (SRAM) Jerarquía de memorias típica Control Datapath Memoria Secundaria (Disco) Componentes On-Chip RegFile Memoria Principal (DRAM) Data Cache Instr Cache ITLB DTLB eDRAM Velo. (%Ciclos): ½’s 1’s 10’s 100’s 1,000’s Tamaño (bytes): 100’s K’s 10K’s M’s G’s a T’s Costo: Mayor Menor