Paginamiento / Paging Sistemas Operativos 16 de Septiembre de 2011.

Slides:



Advertisements
Presentaciones similares
Administración de memoria
Advertisements

SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
Arquitectura de Computadores I
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA 1.
El propósito del almacenamiento es guardar datos que la computadora no esté usando. El almacenamiento tiene tres ventajas sobre la memoria: Hay más espacio.
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez
Direcciones físicas y direcciones virtuales (lógicas)
Tema 10: Gestión de Memoria
Gestor de memoria.
PAGINACIÓN Y SEGMENTACIÓN
Estructura y Tecnolología de Ordenadores
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.
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 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.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Gestión de Memoria.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
MIA - Grupo 5 Unidad 2.
Arquitectura de Computadores I
Memoria Virtual Msc. Rina Arauz.
7 Fragmentación Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
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.
Tema 11: Segmentación y Paginación de la Memoria
Memoria virtual. 2/71 Implementación de la Tabla de Páginas La Tabla de Páginas se mantiene en Memoria Principal. El Page-Table Base Register (PTBR) apunta.
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.
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.
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;
1 Tema 1: Introducción A Los SI Sistemas Operativos Monopuesto 1º SMR Tema 1: Introducción A Los SI.
 NTFS  El sistema NTFS es el sistema de archivos preferido de Windows. Es un sistema más sofisticado que FAT32 e incluye funciones para la recuperación.
PARTICIONES EN UN DISCO DURO Diagnóstico y Mantenimiento INTE 3020 Elena López 15/11/2013.
Luis Loyola Vidal Ayudantía Sistemas Operativos USACH 2015
Un poco de lo que se de WORD
Griselda Rosas Informática Lic. CINTHYA P. BELMONTES GUEVARA
Memoria Virtual Capitulo 8.
Gestión de memoria.
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
Memoria Introducción.
ADMINISTRACION DE LA MEMORIA
Otros temas sobre cachés
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Computación Curso 2017.
Memoria virtual.
Memoria virtual.
ORDENADORES Y EL SISTEMA COMPUTACIONAL
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Algoritmos de reemplazo
DISCO DURO..
SISTEMAS OPERATIVOS MEMORIA VIRTUAL.
Arquitectura de ordenadores
“Ponemos la mejor Tecnología al alcance de TI”
Memoria Cachés.
Otros temas sobre cachés
Componentes de una computadora
Explorador de Windows.
Organización del caché
Transcripción de la presentación:

Paginamiento / Paging Sistemas Operativos 16 de Septiembre de 2011

¿Qué es? ● Una forma de implementar memoria virtual ● ¿LA forma de implementar memoria virtual? ● Todos los sistemas operativos modernos usan paginamiento ● Hardware dedicado

¿Cómo se hace? ● Elegimos un tamaño p = 2 N ● Dividimos la memoria virtual en bloques de tamaño p llamados páginas (pages) ● Dividimos la memoria física en bloques de tamaño p llamados marcos de página (page frames) donde ponemos el contenido de las páginas ● Usamos una tabla de páginas (page table) para convertir direcciones de página (virtuales) en direcciones de marcos de página (físicas) ● Si no entran más páginas en memoria, hacemos lugar escribiendo algunas a disco

Ejemplo ● p = 4KB = 2 12 ● Memoria virtual = 64KB = 2 16 ● Memoria física = 32KB = 2 15

La búsqueda MOV 14000, REG ● Busco el marco correspondiente a la página 0011 ● Reemplazo la página por el marco ● Devuelvo lo que hay en esa dirección de memoria (26288)

Swapping ● Si me quedo sin memoria, mando páginas al disco ● Bit de presencia/ausencia ● Cuando se intenta usar una página ausente, se genera un fallo de página (page fault) 1. Libero un marco (¿Cuál? Próxima clase) 2. Traigo la página a memoria 3. Actualizo la tabla ● Optimización: Si no modifiqué una página que traje de disco, no necesito escribirla para liberarla ● Bit de modificación (dirty bit)

Tabla de páginas

Ventajas del paginamiento ● Es simple ● Pocos problemas de fragmentación ● Un bloque de memoria grande se divide en páginas no necesariamente contíguas en memoria física ● Baja sobreutilización ● A lo sumo se desperdician p – 1 bytes ● Flexible para swapping

Velocidad ● Todo esto se repite en cada acceso a memoria ● MMU (memory management unit) ● Transparente para el resto del sistema ● Excepción en caso de fallo de página ● ¡Por cada acceso necesito una lectura extra! ● Localidad espacial y temporal en los accesos ● TLB (translation lookaside buffer)

TLB ● Memoria asociativa muy rápida ● Similar a un diccionario ● Entradas: Indice de página + datos de la tabla de páginas ● Busca en todos los elementos simultáneamente ● Si está no necesito revisar la tabla (TLB hit) ● Si no está (TLB miss / soft miss) ● Leo de la tabla como antes ● t (TLB hit) < t (TLB miss) <<<<<< t (hard miss) ● Manejo automático (antes) o administración por software (actual, aceptable para TLB grandes)

¡No escala! ● Hoy: ● Páginas de 4KB ● TLB multinivel de entradas ● Memoria física de 2 40 bytes = 1 TB ● Memoria virtual de 2 48 bytes = 256 TB ● Con 4 bytes por entrada en la tabla, serían 64 GB por proceso! ● Soluciones ● Paginamiento multinivel (multilevel paging) ● Tabla de páginas invertida (inverted page table)

Tabla de páginas invertida ● La tabla va de cada marco de página a una lista de todas las páginas que usan ese marco ● Una sola tabla para todo el SO ● No sirve para la búsqueda ● La búsqueda se hace a través de una tabla hash de páginas a marcos ● Búsquedas caras ● Depende mucho de la performance del TLB

Paginamiento multinivel ● Los programas no usan todo el espacio de memoria virtual ● Divido la tabla en un árbol de tablas menores ● Los TLB misses son más caros ● Actualmente hasta 4 niveles

Paginamiento multinivel Página: 2 12 bytes Memoria virtual: 2 32 bytes 1 nivel: 2 20 = 1M 2 niveles: 4 x 2 10 = 4096