Direcciones físicas y direcciones virtuales (lógicas)

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

III - Gestión de memoria
Administración de memoria
Administración de Memoria Virtual
Administración Memoria
Definición Objetivos Funciones de un S.O.
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
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.
Virtual PC.
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Introducción a los Sistemas Operativos Memoria Virtual
MEMORIA 1.
Windows XP sp3.
ADMINISTRACIÓN DE MEMORIA
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Arquitectura de Conjunto de Instrucciones (ISA)
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.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
1 Aula de Informática del Centro de Participación Activa para Personas Mayores de El Ejido (Almería). Consejería Territorial de Salud y Bienestar Social.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
PAGINACIÓN Y SEGMENTACIÓN
PARTICIÓN DE DISCOS - HERRAMIENTAS
1 Capítulo 18: El futuro de IP, IPv6 ICD-327: Redes de Computadores Agustín J. González.
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.
Sistema de archivos Sistemas operativos.
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
SISTEMAS OPERATIVOS EQUIPO 9: GRUPO: Luna Rodríguez Diana Alejandra
Manuela Chavarriaga Betancur Telecomunicaciones 11º3 Resumen Capitulo 2.
Contenido Estructura del computador Ejecución de instrucciones
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓ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.
COMPONENTES DEL SISTEMA OPERATIVO.
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
VI. Administración de Dispositivos (2)
Gestión de Memoria.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
Estructura de los Sistemas Operativos
Universidad Metropolitana Introducción a la Computación
Gestión de Memoria.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
3.2.1 Administración de almacenamiento
Arquitectura de Computadores I
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
CAPITULO V Arquitectura de Von Neumann
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
13/11/14. UNIDADES DEL SEMESTRE Este trabajo esta diseñado para saber los propósitos de los sistemas de información, así como el buen desempeño que le.
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.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Direcciones físicas y direcciones virtuales (lógicas) Memoria Virtual Direcciones físicas y direcciones virtuales (lógicas)

Memoria Virtual Memoria Virtual El manejo o administración de memoria, especialmente si ésta es compartida entre múltiples tareas o procesos concurrentes, es un problema complejo. Mientras que el tamaño de la memoria principal de las computadoras ha crecido de manera continua, y la longitud de las direcciones usadas por los procesadores modernos nos permiten generar espacios de direcciones (conjunto de todas las direcciones de memoria) muy grandes, la cantidad de memoria instalada y la disponible para ejecución de procesos representa un factor limitante. La memoria virtual es un mecanismo implementado en hardware y software del sistema operativo para solucionar los problemas de compartir una memoria limitada, ocultando la presencia de memoria física (direcciones reales de memoria principal) y presentando en su lugar memoria virtual (interpretación abstracta de la memoria principal) a todas las aplicaciones o procesos. La memoria virtual fue desarrollada para sistemas operativos multitasking, y tiene como propósito realizar las siguientes dos tareas básicas: Proporcionar a cada proceso su propio espacio de direcciones, virtualmente ilimitado (aunque la memoria física o real es limitada) con lo que el proceso no necesita ser reposicionado ni tampoco usar un modo de direccionamiento relativo. Proveer a cada proceso la impresión de que dispone de un bloque de localidades de memoria contiguas. La fragmentación de la memoria es ocultada al proceso.

Memoria Virtual La idea básica de la memoria virtual es ocultar los detalles relacionados a la memoria física real disponible en un sistema para los procesos del usuario. En particular, la memoria virtual concilia el hecho de que la memoria física no es asignada a un proceso como una región o área monolítica con localidades de memoria contiguas y también concilia el tamaño real de la memoria física. En la implementación de la memoria virtual, se utiliza una función de mapeo que traduce las direcciones físicas en direcciones virtuales, o viceversa. Es decir, crea un mapeo entre el espacio de direcciones físicas y el espacio de direcciones virtuales de cada proceso. Esto lo implementa la MMU. La implementación crea la ilusión de que cada proceso tiene uno o más espacios de memoria con direcciones contiguas y cada uno con una dirección que empieza en cero. Los tamaños de tales espacios de direcciones virtuales pueden, por razones prácticas, asumirse ilimitados (sin importar que la RAM se agote). Esto lo implementa el Sistema Operativo.

Memoria Virtual Nótese que la memoria virtual es más que simplemente usar espacio de disco para extender el tamaño de la memoria, lo cual es meramente una extensión de la jerarquía de memoria para incluir discos duros. Todas las implementaciones de memoria virtual, con excepción de los emuladores, requieren soporte en hardware. Esto se hace comúnmente mediante la unidad de administración de memoria (MMU – Memory Management Unit) construida dentro del CPU. Los sistemas que utilizan memoria virtual hacen más fácil la programación de grandes aplicaciones y utilizan la memoria física real (RAM) más eficientemente que aquellos sistemas sin memoria virtual. La memoria virtual difiere de la virtualización de memoria en el hecho de que la memoria virtual permite que los recursos sean virtualizados para un sistema específico (o para los procesos dentro de un sistema específico), opuestamente a hacer parecer (virtualizar) que la memoria es un conjunto de memorias más pequeñas para muchos sistemas diferentes.

Implementación de la Memoria Virtual Para comprender la manera en que se implementa la memoria virtual, es necesario aclarar lo siguiente: La memoria virtual cubre por completo el espacio de direcciones de un proceso. La memoria física cubre el espacio total de direcciones de la memoria real disponible. Si la memoria consiste en 2m localidades o palabras de memoria, las direcciones físicas serán de m bits. Tanto la memoria física como la virtual se dividen en páginas de tamaño fijo, mismas que abarcan un número específico de 2n localidades o palabras de memoria. Normalmente una página es sustancialmente más grande que una línea de memoria caché. Una función de mapeo asigna una página física (frame o marco) a cada página virtual. La conversión o traducción de memoria física a virtual, o viceversa, la realiza la MMU. El procesador opera únicamente con memoria virtual.

Memoria Virtual Existen varias maneras de implementar el mapeo entre direcciones físicas y virtuales. En esta clase, mediante un ejemplo, se mostrará dos de los mecanismos más simples: mapeo con tabla de páginas de 1 nivel y mapeo con tablas de página de 2 niveles, ambos basado en la división en páginas de la memoria. Ejemplo: Palabras de 8 bits (1 byte) Páginas de 4 KB = 4 K palabras = 212 palabras de 1 byte cada una, bits para offset dentro de la página = n = 12). Memoria de 16 MB (224 Bytes = 224 direcciones de mp = 24 bits). Bits para especificar el número de frame o marco de página = mp – n = 24 – 12 = 12, lo que significa 4,096 (212) páginas físicas. Memoria virtual para cada proceso cubre 4 GB (direcciones de mv = 32 bits). Bits para especificar el número de página virtual = mv – n = 32 – 12 = 20, lo que significa 1,048,576 (220) páginas virtuales. Nota: El número de bits para especificar una dirección física puede diferir del número de bits para especificar una dirección virtual.

Memoria Virtual Mapeo con Tablas de Páginas de 1 Nivel Una tabla de páginas contiene tantas entradas como el total de páginas virtuales que existen. Si la tabla de páginas está almacenada en la memoria principal, debe ajustar en el esquema de paginación: El tamaño total de la tabla de páginas es 𝒔= 2 𝑚 𝑣 −𝑛 ∗𝑒 bytes, donde e es el tamaño de la entrada en bytes requerido para almacenar la dirección de la página física (marco de página). La tabla de páginas almacena 𝒑=𝑠/𝑒 direcciones de marcos de páginas. Cada página en la tabla de páginas contiene 𝒍= 2 𝑛 entradas o localidades. Consideraciones: La parte que especifica el número de página virtual en la dirección virtual es usado como índice en la tabla de páginas. Formar conjuntos de p páginas, cada una conteniendo l entradas mediante una tabla de páginas por proceso. Se utiliza un apuntador al inicio del marco de la página en la memoria principal. Si la página está en espacio de disco swap, se usa la dirección de disco. El problema es que los espacios de direcciones virtuales pueden ser extremadamente grandes y eso puede significar un desperdicio de memoria considerable.

Memoria Virtual

Memoria Virtual Mapeo con Tablas de Páginas de 2 Niveleles En este esquema, la parte que especifica el número de página virtual en la dirección virtual es dividido en dos partes iguales: la mitad baja se usa como índice de la tabla de páginas para especificar una página; la mitad alta se usa como índice dentro de un directorio de tablas para especificar el número de tabla en cuestión: 10 bits para número de entrada en directorio, por lo que el tamaño del directorio es de 210 entradas de 4 bytes cada una = 212 4 KB. 10 bits para número de entrada en tabla de página, por lo que el tamaño de la tabla de páginas es de 210 entradas de 4 bytes cada una = 212 4 KB. 12 bits para offset dentro de la página. Consideraciones: Espacios de direcciones virtuales extremadamente grandes no requieren de grandes tablas de páginas ni mucha memoria, ya que solo el directorio de páginas y las tablas de páginas activas requieren estar en memoria. Las tablas de páginas se crean en base a la demanda. Las tablas de páginas pueden tener tamaño de una página (mecanismo de paginación uniforme), tanto para memoria virtual como física. Se puede tener un directorio de páginas por proceso, lo cual elimina el requerimiento de comparar el propietario de la tabla con el ID del proceso. También facilita el compartir páginas.

Memoria Virtual

Memoria Virtual