Memoria virtual
Transcript of Memoria virtual
Profesor NelsonSandoval
ARQUICTETURA DE COMPUTADORES
OSCAR DANIEL CHAMORRO AMOROCHO
MMU
Procesos de Usuario
Paginación
Segmentación
MEMORIA REAL O PRINCIPAL
MEMORIA VIRTUAL
Gestión de Memoria
La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario. La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
Objetivos de la Gestión de Memoria
Ofrecer a cada proceso un espacio lógico propio.
Proporcionar protección entre los procesos.
Permitir que los procesos compartan memoria.
Maximizar el rendimiento del sistema
GESTOR DE MEMORIA
Es la parte del sistema operativo que gestiona la jerarquía de memoria
Asignación de Memoria Principal a los procesos que la solicitan
Localización de espacios libres, y ocupados
Aprovechamiento máximo de dicha memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Al realizar un estudio de los diversos mecanismos y políticas relacionadas con la gestión de memoria, vale la pena tener en mente los requisitos que se intentan satisfacer.
Hay 5 requisitos:
Reubicación Protección Compartición
Organización Lógica Organización Física
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Protección: En un sistema con multiprogramación es necesario proteger al sistema operativo y a los otros procesos de posibles accesos que se puedan realizar a sus espacios de direcciones.
Gestión de Memoria
interrumpido
interferencia
MMU
Procesos de Usuario
Paginación
Segmentación
Reubicación: En un sistema multiprogramado la memoria se encuentra compartida por varios procesos, por lo tanto, los procesos deben ser cargados y descargados de memoria.
Gestión de Memoria
Enviado adisco
cargado
Compartición: En ciertas situaciones, bajo la supervisión y control del sistema operativo, puede ser provechoso que los procesos puedan compartir memoria.
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
acceden Copia programa
MMU
Procesos de Usuario
Paginación
Segmentacion
JULIO 2008 SISTEMAS OPERATIVOS
Organización Lógica: Tanto la memoria principal como la secundaria presentan una organización física similar, como un espacio de direcciones lineal y unidimensional. CORRESPONDENCIA
Organización Física: Debe ser parte de la gestión de memoria, la organización del flujo de información entre la memoria principal y la memoria secundaria.
Gestión de Memoria
ELM
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
Direcciones físicas Son aquellas que referencian alguna posición en la memoria física
Direcciones lógicas son las direcciones utilizadas por los procesos
• Asignación de Espacio Contiguo• La memoria principal se encuentra dividida en dos
partes: – SO residente (kernel), normalmente en posiciones
bajas de la memoria – Zona para los procesos de usuario, normalmente
en posiciones altas de la memoria • La zona para procesos de usuarios se encuentra
dividida a su vez en varias particiones que se asignarán a los procesos – Particionamiento Estático: las particiones se
establecen en el momento de arranque del SO y permanecen fijas durante todo el tiempo
– Particionamiento Dinámico: las particiones cambian de acuerdo a los requisitos de los
procesos
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
Asignación Estática de Memoria Particionada
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
Hueco. bloque de memoria disponible; hay huecos de diversos tamaños repartidos por toda la
memoria Cuando llega un proceso se le asigna un hueco lo
suficientemente grande para que quepa Asignación Estática de Memoria Particionada
Primer ajuste (First-fit): Se asigna el primer hueco lo suficientemente grande
Mejor ajuste (Best-fit): Se asigna el hueco más pequeño que es lo suficientemente grande; hay que
buscar en la lista entera de huecos (salvo si está ordenada por tamaño)
Desperdicia el menor espacio posible Hay varias formas de satisfacer una solicitud de
tamaño n partiendo de una lista de huecos
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
• Protección con Asignación Estática • Los registros de reubicación se usan para proteger los
procesos de usuario unos de otros y del código y datos del SO
– El registro base contiene la dirección física más baja a la que puede acceder el proceso
• El registro límite contiene el tamaño de la zona de memoria accesible por el proceso – las direcciones lógicas deben ser menores que el registro límite
• Asignación Dinámica de Memoria Particionada • Ahora el tamaño y ubicación de las particiones no es fijo sino
que cambia a lo largo del tiempo • Cuando llega un proceso se le asigna memoria de un hueco
lo suficientemente grande para que quepa – Con el espacio sobrante del hueco se crea una nueva partición
libre (hueco) • En este tipo de asignación las consideraciones de protección
son las mismas que en la asignación estática
MMU
Procesos de Usuario
Paginación
Segmentación
JULIO 2008 SISTEMAS OPERATIVOS
Gestión de Memoria
• Asignación Dinámica de Memoria • Primer ajuste (First-fit): Se asigna el primer
hueco lo suficientemente grande • Mejor ajuste (Best-fit): Se asigna el hueco más
pequeño que es lo suficientemente grande; hay que buscar en la lista entera de huecos (salvo si está ordenada por tamaño) – Da lugar al hueco más pequeño
• Peor ajuste (Worst-fit): Se asigna el hueco más grande; hay que buscar en la lista completa de huecos (salvo si está ordenada por tamaño) – Da lugar al hueco más grande
MMU
Procesos de Usuario
Paginación
Segmentación
JULIO 2008 SISTEMAS OPERATIVOS
Gestión de Memoria
• Fragmentación • La fragmentación es la memoria que queda
desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa.
• La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
• Fragmentación Externa – hay suficiente memoria libre para satisfacer una petición, pero esa memoria no es contigua
• Fragmentación Interna – la memoria asignada puede ser ligeramente mayor que la solicitada; esta diferencia de tamaño se encuentra en la partición pero no es usada
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
Partición de la memoria en pequeños pedazos del mismo tamaño (chunks) y dividir cada proceso en trozos del mismo tamaño
Los trozos (chunks) de un proceso se llaman páginas y los de la memoria se llaman marcos de página (frames)
El sistema operativo mantiene una tabla de página para cada proceso
Proceso de migracion necesasio para atender fallos de pagina
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
El sistema operativo mantiene una tabla de página paracada proceso
Contiene la ubicación del marco de página (frame) de cada página del proceso
La dirección de memoria consiste en un número de página y un desplazamiento (offset) dentro de la página
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
• Cada pagina tiene un numero que se utiliza como indice en la tabla de paginas, lo que da por resultado el numero del marco correspondiente a esa pagina virtual. La finalidad de la tabla de paginas es asociar las paginas virtuales con los marcos.
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).
Se divide la memoria en bloques de tamaño llamados paginas.
Se mantiene información en los marcos libres.
Se produce fragmentación interna
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria
Es posible comenzar a ejecutar un programa
No es necesario que las paginas estén contiguas en memoria
Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.
Se libera al programador de la restricción de programar para un tamaño físico de memoria
Se puede aumentar el numero de programas multiprogramándose.
Todo el mecanismo es transparente al usuario
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
El costo de hardware y software se incrementa
Se consume mucho mas recursos de memoria, tiempo en el CPU para su implantación.
. Aparece el problema de fragmentación interna
.
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Es un esquema de manejo de memoria mediante el Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica;cual la estructura del programa refleja su división lógica;
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
Modularidad de programasModularidad de programas
Estructuras de datos de largo variableEstructuras de datos de largo variable
Protección: Protección:
Comparación: Comparación:
Enlace dinámico entre segmentosEnlace dinámico entre segmentos
Gestión de Memoria
MMU
Procesos de Usuario
Paginación
Segmentación
Gestión de Memoria Se garantiza la facilidad de implantar la comparticion y
enlace.
Se simplifican las estrategias de almacenamiento.
Se elimina el problema de la fragmentación externa y la necesidad de compactación
MMU
Procesos de Usuario
Paginacion
Segmentacion
Hay un incremento en los costos de hardware y deHay un incremento en los costos de hardware y de software software
Problemas de fragmentación externas,Problemas de fragmentación externas,
Se complica el manejo de memoria virtualSe complica el manejo de memoria virtual
Puede ser necesarios planes de reubicación a nivel dePuede ser necesarios planes de reubicación a nivel de los discoslos discos
No se puede garantizar, que al salir un segmento de laNo se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo,memoria, este pueda ser traído fácilmente de nuevo,
Requiere de mecanismos adicionales da hardware yRequiere de mecanismos adicionales da hardware y software.software.
Gestión de Memoria
Segmentación Paginada Bajo esta técnica conocida se trata de
minimizar las desventajas de la segmentación
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
El programador puede conocer las unidades lógicas de El programador puede conocer las unidades lógicas de susu programaprograma
Es posible compilar módulos por separados Es posible compilar módulos por separados
Fácil la modificación de los módulosFácil la modificación de los módulos
Es fácil el compartir segmentosEs fácil el compartir segmentos
Existe la posibilidad de definir segmentos que aun noExiste la posibilidad de definir segmentos que aun no existanexistan
Gestión de Memoria
de su implantacion
Incremento del costo
de almacenamiento
MMU
Procesos de Usuario
Paginacion
Segmentacion
Gestión de Memoria
MMU
Procesos de Usuario
Paginacion
Segmentacion
En la memoria principal son ejecutados los programas y En la memoria principal son ejecutados los programas y procesos de una computadora y es el espacio real que procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesosexiste en memoria para que se ejecuten los procesos
Las direcciones de memoria son de tres tipo: físicas, lógicas y lineales
Las estrategias mas comunes para asignar espacios vacíos (huecos) son: primer ajuste, mejor ajuste, peor ajuste
La fragmentación puede ser interna o externa
Gestión de Memoria
Técnica Descripción Ventajas Desventajas
Esquemas de Asignación Contigua
Partición Estática
La memoria principal se divide en un conjunto de particiones estáticas, durante la generación del sistema. Un proceso se puede cargar en una partición de igual o mayor tamaño.
Sencilla de implementar, poca sobrecarga del sistema operativo.
Empleo ineficiente de la memoria debido a la fragmentación interna. El número de procesos activos es fijo.
Partición Dinámica
Las particiones se crean dinámicamente, de forma que cada proceso se carga en una partición de su mismo tamaño.
No hay fragmentación interna, uso más eficiente de la memoria principal.
Uso ineficiente del procesador debido a la compactación para contrarrestar la fragmentación externa.
Esquemas de Asignación no Contigua
Paginación La memoria principal se divide en un conjunto de marcos de igual tamaño. Cada proceso se divide en páginas de igual tamaño que los marcos. Un proceso se carga situando todas sus páginas en marcos libres pero no necesariamente contiguos.
No tiene fragmentación externa
Hay una pequeña cantidad de fragmentación interna.
Segmentación Cada proceso se divide en segmentos. Un proceso se carga situando todos sus segmentos en particiones dinámicas que no tienen por qué ser contiguas.
No tiene fragmentación interna.
Mejora la utilización de la memoria y reduce la sobrecarga comparada con la partición dinámica.