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.

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

GESTION DE MEMORIA.
III - Gestión de memoria
El modelo de Von Neumann
Administración de memoria
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
Ordenamiento Interno y Búsqueda Binaria
Ana Lucia Farfan Estrada. Angela Aybar Rengifo.
Introducción a los Sistemas Operativos Memoria Virtual
PROGRAMACION DE ESTRUCTURAS DE DATOS
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
Algorítmo de Mapeo Directo
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.
Composición Interna de un Procesador
Direcciones físicas y direcciones virtuales (lógicas)
La memoria de acceso aleatorio (en inglés:random- access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones.
Tema 10: Gestión de Memoria
Administración de memoria
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
PAGINACIÓN Y SEGMENTACIÓN
UNIDAD 3 Conceptos de Sistemas Operativos.
Arquitectura de ordenadores.
Estructura y Tecnología de Ordenadores Noviembre 2004.
Administración de Memoria Memoria Virtual
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
JERARQUIA DE 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
Administración de Memoria
Lenguaje de Programación cap. 1 Estructura del Computador.
Capítulo 7 Gestión de memoria.
Memoria. Memoria  Propósito  Longitud de palabra  Notación convencional de capacidad de memoria de un circuito.
Administración de Memoria no contigua
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.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
VI. Administración de Dispositivos (2)
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Estructura de los Sistemas Operativos
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
PRESENTADO: Hernan Dario Delgado murcia. son las siglas de random access memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente;
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
DISCO DURO. ¿Qué son los dispositivos de almacenamiento? La memoria de la computadora (Ram) como todos la conocemos, es un lugar provisional de almacenamiento.
NOCIONES BÁSICAS COMPUTO II
FUNCIONAMIENTO INTERNO DEL ORDENADOR
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
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.
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
Arquitectura de Computadores I
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
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.
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
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.
HARDWARE. INDICE ¿Qué es un ordenador? Hardware y Software Funcionamiento de un ordenador Arquitectura básica de un ordenador Placa base Unidades de medida.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

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 en fragmentos llamados superposiciones. Los fragmentos del programa eran hechos por el programador. Esta solucion era tediosa y consumia demasiado tiempo. Entonces llegaron al metodo ahora conocido como Memoria Virtual. La idea es que el programa con todas sus componentes podian exceder la cantidad de memoria fisica disponible. Se usa comunmente una tecnica llamada paginacion. Cuando ejecutas el comando MOV REG,1000 esta copiando el conrenido de la direccion de a 1000 a REG. Las direcciones generadas por programas se llaman direcciones virtuales y constituyen el espacio de direcciones virtuales. Si no hay memoria virtual en la computadora, la dirrecion se pone en el bus y se trata de leer la direccion de memoria. Si tiene memoria virtual, se envia a una unidad de administracion de memoria (MMU), y transforma la direccion virtual en fisica.

El espacio de direccion virtual se divide en unidades llamadas paginas. Las unidades correspondientes en memoria fisica se llaman marco de pagina. Las paginas y marcos de paginas siempre tienen el mismo tamano. Usualmente se se asigna tamano de pagina desde 512 bytes hasta 64K. Ejemplo: Un programa ejecuta el comendo MOV REG,0, la direccion 0 se envia a la MMU, esta checa que queda en la pagina 0(0 a 4095) que, segun su transformacion es el marco de pagina 2(8192,12287). La direccion virtual se encuentra a 20 bytes despues del inicio de la pagina virtual 5(20480,24575) y se transforma en la direccion fisica = Dado que tenemos solo ocho marcos fisicos, solo 8 de las paginas virtuales tandran correspondecia con la memoria fisica, las otras no se transformaran. En el hardware real, un un bit de presente/ausente indica si la pagina tiene correspondencia o no.

Si un programa usa, por ejemplo, la instruccion MOV REG,32780 que es el byte doce de la pagina ocho (32768), la MMU se da cuenta de que no tiene correspondencia dicha pagina, hace que el CPU entrampe al sistema operatico, Esta trampa se llama fallo de pagina. El sistema operativo escoge un marco poco utilizado, copia su contenido al disco duro, luego trea la pagina a la que se hizo referencia y lo coloca en el marco recien liberado, modifica el mapa y reinicia la instruccion atrapada. El numero de pagina se utiliza como indice en la tabla de paginas. Si el bit presente/ausente es 0, se genera una trampa al sistema operativo; de lo contrario se copian los tres bits de orden alto del regristro de salida, junto con la distancia de 12 bits. El proposito de las tablas de paginas es transformar paginas virtuales en marcos de referencia. En terminos matematicos, la tabla es una funcion, con el numero virtual como argumento y el numero de marco fisico como resultado. Hay dos problemas importantes que se deben resolver: 1.- La tabla de paginas puede ser extremadamente grande. 2.- La transformacion debe ser rapida. El primer punto se debe del hecho de que las computadoras modernas utilizan direccion virtuales de por lo menos 32 bits. Con un tamano de pagina de, digamos 4K, un espacio de direcciones de 32 bits tendria 1 millon de paginas.

El segundo punto se debe al hecho de que la transformacion de virtual a fisica se debe efectuar en cada referencia a la memoria. Con el objeto de superar el problema de tener tablas de paginas enormes en la memoria todo el tiempo, muchas computadoras usan una tabla de pagina multinivel. El secreto de este metodo es evitar mantener todas las tablas en la memoria todo el tiempo, en particular, las tablas que no se necesiten, no deben estar ahi. La entrada que se ubica indizando en la tabla de paginas de nivel superior, contiene la direccion de o el numero de marco de pagina de una tabla de paginas de segundo nivel.

La entrada de 0 de la table de paginas de nivel superior apunta a la tabla de paginas para el texto del programa. La entrada 1 apunta a la entrada de paginas de datos, y la entrada 1023 apunta a la tabla de paginas para la pila. Apesar de que el espacio de direcciones contiene mas de un millon de paginas, solo se necesitan cuatro tablas y las tablas de segundo nivel correspondientes a 0 a 4M, 4M a 8M y los 4M superiores. El sistema de paginas se puede ampliar a mas de dos niveles. Una mayor cantidad confiere una mayor flexibilidad, pero es dudoso que la complejidad adicional se justifique mas hay de los tres niveles. El tamano de entrada de tabla, depende de la maquina, pero en general es de 32 bits. El campo mas importante es el numero de marco de pagina, el objetivo de la transformacion de paginas es localizar ese valor. Depues esta el bit presente/ausente. Los bits de proteccion indican que clase de acceso esta permitida (lectura o escritura).

El bit Modificada indica si ha sido modificada dicha entrada. Cuando se escribe el hardeware lo enciende. Este bit tambien se conoce como bit sucio ya que refleja el estado del pagina, sea para lectura o escritura. El bit Referida se enciende que se hace referencia a una pagina. El ultimo bit puede inabilitar la colocacion en cache de la pagina. Es importante en el caso de paginas que correspondan a registros de dispositivos en lugar de memoria. Si hay paginacion en el momento de ejecucion de un programa, se requieren referencias adicionales a la memoria para acceder a la tabla de paginas. Tener que referirse dos veces a la tabla de paginas por cada referencia a la memoria, reduce el rendimiento a una tercera parte. La solucion encontrada es equipar el hardware con un pequeno dispoditivo, llamado TLB(buffer de consulta para traduccion, en ingles, Translation Lookaside Buffer) o tambien llamada memoria asociativa. Cuando llega una direccion para ser traducida, lo que hace el hardware, es checar si su numero de pagina virtual esta presente en el TLB, comparando todas las entradas simultaneamenta (en paralelo). Si esta y no viola los bits de proteccion, el marco de pagina se toma directamente del TLB.

En algunas computadoras (HP PA, Alpha, MIPS) la administracion del TLB se hace mediante software. Esto deja mas espacion en CPU para poner otras cosas.

Las tablas de paginas vistas hasta ahorita, necesitan una entrada por cada pagina virtual. En una computadora de 32 bits se necesitarian 4 megabytes minimo para el almacenamiento de la tabla. En una de 64 bits se requeririan 10^15 bytes (1 tb!) para la tabla de paginas. Se requiere una solucion distinta para este tipo de computadoras. Una solucion es tabla de paginas invertidas. En este diseno, hay una entrada por marco de pagina de la memoria real, no por cada pagina del espacio de direcciones virtual. Con esto se ahorra espacio en RAM. Pero tiene un problema: la traduccion de virtual a fisica se vuelve mucho mas dificil. Cuando el proceso n hace referencia a la pagina virtual p, el hardware debe buscar en toda la de paginas invertida una entrada (n,p). La solucion es usar el TLB. Puede contener todas las paginas de uso pesado. Sin embargo, si ocurre una falla de TLB, habra que buscar en la tabla de paginas invertidas. Si se usa una tabla de dispersion como indice de la tabla de paginas invertida, la busqueda se optimiza.