Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.

Slides:



Advertisements
Presentaciones similares
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
Advertisements

Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Windows XP sp3.
Direcciones físicas y direcciones virtuales (lógicas)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Integrantes: James Santana Braulio Mendoza Leonela Burgos
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
Administración de Memoria Memoria Virtual
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.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
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.),
(Organización y Manejo de Archivos)
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Contenido Estructura del computador Ejecución de instrucciones
Arquitectura NFS El servidor NFS exporta uno o más directorios
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. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Clasificación y estructura. Alejandra Rivero Esteban
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.
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
S ERVICIOS DE RED E I NTERNET T EMA 3: DNS Nombre: Adrián de la Torre López.
Elementos y tipos de sistemas operativos
Arquitectura de Computadores I
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Arquitectura de Computadores Clase 2 Algebra Booleana y Número Binarios IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
Componentes de un ordenador Andrés Sanz nº 25 ÍNDICE EL ORDENADOR PERSONAL PARTES DEL PC Hardware Software PERIFÉRICOS DE ENTRADA PERIFÉRICOS DE SALIDA.
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 IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Arquitectura de Computadores Clase 16 Sistemas y Jerarquías de Almacenamiento IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de.
Tema 11: Segmentación y Paginación de la Memoria
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
PROTEC VIRGINIA CAROLINA GALLARDO SANCHEZ. Hardware y software En computación tenemos dos elementos básicos: Hardware En términos simples, corresponde.
1 Introducción a la Programación Estructurada Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
Arquitectura de Computadores Clase 19 Memoria Caché: Funciones de Correspondencia IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
JANITH SULAY JAIMES PABON GIOVANNY JIMÉNEZ GÓMEZ JOHN ANDRES AYALA ANGARITA SERGIO ANDRES ARAQUE BERMUDEZ GESTIÓN DE ALMACENAMIENTO SECUNDARIO.
D IRECCIONAMIENTO IP ( PARTE 2) Juan Carlos Rodriguez Gamboa.
1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Arquitectura de Computadores
Sistemas Basados en Microprocesador Curso 2012/2013 Departamento de Tecnología E l e c t r ó n i c a Modelo del Programador de un Sistema digital basado.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;
Paginamiento / Paging Sistemas Operativos 16 de Septiembre de 2011.
Otros temas sobre cachés
Memoria virtual.
Otros temas sobre cachés
Organización del caché
Transcripción de la presentación:

Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Objetivos Capítulo 5 : Sistemas de Memoria – Memoria Virtual Entender qué es la memoria virtual junto con sus ventajas Entender la función de las distintas piezas de hardware involucradas en el uso de la memoria virtual Memory Managment Unit (MMU) Transition Lookaside Buffer (TLB) Entender el funcionamiento de la memoria virtual Páginas y Marcos, Excepciones, y Swap Objetivos R.Mitnik 2Arquitectura de Computadores

R.Mitnik Arquitectura de Computadores3 Índice 5.1 Sistemas de almacenamiento 5.2 Jerarquías de memoria 5.3 Tecnologías de memorias 5.4 Representación y formato de datos 5.5 Memoria caché 5.6 Memoria virtual Capítulo 5 : Sistemas de Memoria

R.Mitnik Arquitectura de Computadores4 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria La memoria virtual permite desacoplar la memoria que la CPU ve de la memoria física Procesos no se preocupan de dónde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria e.g. varios procesos iguales corriendo en paralelo Permite utilizar más memoria que la disponible Seguridad procesos no conocen el espacio de memoria física de los demás no pueden determinar la memoria física a utiliza

R.Mitnik Arquitectura de Computadores5 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria La memoria virtual permite desacoplar la memoria que la CPU ve de la memoria física Define dos espacios de direccionamiento: uno virtual (el que los procesos ven) y uno físico (la memoria principal) Por eficiencia se agrega un intermediario que traduce las direcciones entre ambos espacios Memroy Managment Unit (MMU) CPU envía direcciones virtuales, MMU las transforma a direcciones físicas

R.Mitnik Arquitectura de Computadores6 Introducción Capítulo 5 : Sistemas de Memoria – Memoria Virtual

R.Mitnik Arquitectura de Computadores7 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria CPU envía direcciones virtuales, MMU las transforma a direcciones físicas MMU sólo se encarga de traducir direcciones ¿Quién determina cómo se mapea de un espacio al otro? El Sistema Operativo (SO) ¿Cómo mapea el Sistema Operativo? Diseña y mantiene una función F() (mapa de memoria) que permite mapear direcciones entre los espacios virtual y físico.

R.Mitnik Arquitectura de Computadores8 Memoria Virtual Implementación Capítulo 5 : Sistemas de Memoria Implementar un mapeo 1-1 es muy ineficiente Mapear cada dirección virtual a una dirección real es costosísimo Solución: Paginación

R.Mitnik Arquitectura de Computadores9 Memoria Virtual Paginación Capítulo 5 : Sistemas de Memoria Cada página representa un conjunto de bytes Todas las páginas tienen el mismo tamaño El tamaño de las páginas viene dado por la arquitectura (e.g. 4Kb) Las páginas tienen el mismo tamaño en ambos espacios (virtual y físico) En el espacio físico, las páginas virtuales se almacenan en marcos físicos El mapa de memoria queda representado como un mapa de páginas

R.Mitnik Arquitectura de Computadores10 Memoria Virtual Paginación Capítulo 5 : Sistemas de Memoria El mapa de memoria queda representado como un mapa de páginas Se representa como una tabla Mapea las páginas virtuales a los marcos físicos de la memoria

R.Mitnik Arquitectura de Computadores11 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Ejemplo: Memoria Virtual:16 páginas de 4K Direcciones de 16 bits Memoria Física:8 páginas de 4K Direcciones de 15 bits

R.Mitnik Arquitectura de Computadores12 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual MMU Dirección virtual Dirección física Cómo mapea: Determina el número de la página virtual correspondiente a la dirección requerida Determina el marco físico de dicha página En base a la posición relativa de la dirección en la página, determina la dirección física del requerimiento

R.Mitnik Arquitectura de Computadores13 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Tablas de páginas

R.Mitnik Arquitectura de Computadores14 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Mapeo utilizando MMU

R.Mitnik Arquitectura de Computadores15 Paginación: Ejemplo Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K K KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K)

R.Mitnik Arquitectura de Computadores16 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K K KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 0. La MMU recibe la solicitud de la dirección 0 Determina el marco correspondiente  2 Determina dirección física de la dirección virtual 0 0 = primer valor de la página Primer valor del marco 2  4096 Escribe 4096 en el bus de direcciones. Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores17 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K K KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria La MMU recibe la solicitud de la dirección 2050 Determina el marco correspondiente  3 Determina dirección física de la dirección virtual = tercer valor de la página correspondiente Tercer valor del marco 3  6146 Escribe 6146 en el bus de direcciones. Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores18 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K K KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores19 Paginación Falta de Página (page fault) Se genera cuando la MMU no puede mapear una dirección virtual a una dirección física Arroja una interrupción de software Este inconveniente es transparente para el proceso Sistema operativo determina qué hacer Negar la solicitud (out of memory exception) Buscar memoria disponible Encuentra No encuentra  se acabó la memoria física  Out of memory exception  Swap Capítulo 5 : Sistemas de Memoria – Memoria Virtual

R.Mitnik Arquitectura de Computadores20 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K K KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) Quita una página de un marco, guardándola en disco (swap out) Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores21 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16KX 12-14K KX 8-10KX 6-8KX 4-6K1 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) SO quita una página de un marco, guardándola en disco (swap out) SO asigna el marco a la página requerida, cargándola de disco de existir previamente (swap in) Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores22 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16KX 12-14K KX 8-10KX 6-8KX 4-6K1 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  1 Determina dirección física de la dirección virtual = 5to valor de la página correspondiente 5to valor del marco 1  2052 Escribe 2052 en el bus de direcciones. Paginación: Ejemplo

R.Mitnik Arquitectura de Computadores23 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual El sistema operativo mantiene una tabla de páginas independiente para cada proceso Procesos no se preocupan de donde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria Seguridad Al cargar un proceso, el SO también carga en la MMU el mapa de memoria asociado a dicho proceso MMU sólo convierte!!! ¿Cuántas tablas de páginas hay?

R.Mitnik Arquitectura de Computadores24 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Las tablas son muy grandes, por lo que se almacenan en la memoria física El sistema operativo no carga la MMU con el mapa del proceso El sistema operativo le entrega un puntero a dicha tabla Problema: Dobles accesos a memoria Al llegar un requerimiento de memoria la MMU debe ir a buscar la entrada correspondiente de la tabla a memoria Luego hacer la traducción de dirección virtual a dirección física Finalmente envía el requerimiento del proceso como dirección física Translation Lookaside Buffer (TLB)

R.Mitnik Arquitectura de Computadores25 Capítulo 5 : Sistemas de Memoria – Memoria Virtual TLB Hardware que permite un acceso rápido a los elementos más usados de la tabla Es una memoria caché especializada Muy rápida Fully associative Pequeña (entre 32 y 1024 palabras) Translation Lookaside Buffer (TLB) Translation Lookaside Buffer

R.Mitnik Arquitectura de Computadores26 Translation Lookaside Buffer Capítulo 5 : Sistemas de Memoria – Memoria Virtual Mapeo utilizando MMU y TLB

Resumen Ventajas de la memoria virtual Procesos no se preocupan de dónde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria Permite utilizar más memoria que la disponible Seguridad Piezas de hardware involucradas Memory Managment Unit (MMU) Translation Lookaside Buffer (TLB) Paginación Páginas Marcos Falta de página (page fault) Swap in/out R.Mitnik 27Arquitectura de Computadores Resumen Capítulo 5 : Sistemas de Memoria – Memoria Virtual