Tema 10: Gestión de Memoria

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

El tamaño asignado para cada partición es el mismo. Cada partición, será ocupada por un proceso de menor o igual tamaño. El programador debe diseñar el.
Gestión de Memoria (Cap. 6 de Stallings).
Administración de memoria
Sistema Operativo.
Administración de Memoria
Administración de Memoria Virtual
Administración Memoria
Sistemas Operativos Gestión de Memoria.
CARACTERISTICAS, CLASES, EJEMPLOS
Teoría de Sistemas Operativos Memoria
BUFFER Es el área de almacenaje temporal, por lo general en la RAM.
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
Sistema operativo Componentes de un sistema operativo
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
Introducción a los Sistemas Operativos Memoria Virtual
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.
ADMINISTRACIÓN DE MEMORIA
Sistemas Operativos: El Libro Azul
Direcciones físicas y direcciones virtuales (lógicas)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Administración de memoria
Gestor de memoria.
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones que le indiquen cómo utilizar los recursos.
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.
Administración 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.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Contenido Estructura del computador Ejecución de instrucciones
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Tema 9.6: Sincronización de Procesos
Sistemas Operativos Tema 3
Tema 6. Administración de memoria
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.
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.
W w w. i n a c a p. c l FUNDAMENTOS DE SISTEMAS OPERATIVOS LUIS ALEJANDRO PACHECO TORO.
Tema 10: Gestión de Memoria
Un ordenador no puede funcionar sin sistema operativo.
Gestión de Memoria.
INTRODUCCION A 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.
GESTION DE ALMACENAMIENTO
GESTION DE ALMACENAMIENTO
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
T3-Memoria Mover malloc, sbrk a la primera parte
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.
Elementos y tipos de sistemas operativos
Memoria Virtual Msc. Rina Arauz.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
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.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Estructura del sistema operativo
1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Tema 10: Gestión de Memoria

Gestión de Memoria Introducción Asignación de espacio contiguo Asignación estática de memoria particionada Asignación dinámica de memoria particionada Protección y uso compartido Asignación de espacio no contiguo Segmentación Paginación Segmentación con paginación Gestión de memoria virtual Paginación por demanda Algoritmos de reemplazo de páginas Algoritmos de asignación de marcos de página

Tema 10.1: Introducción

Antecedentes Un programa debe cargarse en memoria desde disco y colocarse dentro de un proceso para que se ejecute La memoria principal y los registros son los únicos dispositivos de almacenamiento a los que puede acceder la CPU directamente El acceso a registro es muy rápido; supone un ciclo de CPU (o menos) El acceso a memoria principal puede durar varios ciclos Las memorias caché se colocan entre la memoria principal y la CPU para acelerar el acceso a la información

Procesamiento de un Programa de Usuario

Vinculación de Direcciones La vinculación de instrucciones y datos a direcciones de memoria puede realizarse en tres etapas diferentes Compilación: Si se conoce a priori la posición que va a ocupar un proceso en la memoria se puede generar código absoluto con referencias absolutas a memoria; si cambia la posición del proceso hay que recompilar el código Carga: Si no se conoce la posición del proceso en memoria en tiempo de compilación se debe generar código reubicable Ejecución: Si el proceso puede cambiar de posición durante su ejecución la vinculación se retrasa hasta el momento de ejecución. Necesita soporte hardware para el mapeo de direcciones (ej., registros base y límite)

Espacio de Direcciones Físicas y Lógicas El concepto de espacio de direcciones lógicas vinculado a un espacio de direcciones físicas separado es crucial para una buena gestión de memoria Dirección lógica – es la dirección que genera el proceso; también se conoce como dirección virtual Dirección física – dirección que percibe la unidad de memoria Las direcciones lógicas y físicas son iguales en los esquemas de vinculación en tiempo de compilación y de carga; pero difieren en el esquema de vinculación en tiempo de ejecución

Registros Base y Límite Un par de registros base y límite definen el espacio de direcciones lógicas

Unidad de Gestión de Memoria (MMU) La MMU (Memory-Management Unit) es un dispositivo hardware que transforma las direcciones virtuales en físicas Con la MMU el valor del registro de reubicación (registro base) es añadido a cada dirección generada por un proceso de usuario en el momento en que es enviada a la memoria El programa de usuario trabaja con direcciones lógicas; nunca ve las direcciones físicas reales

Reubicación Dinámica Mediante Registro

Intercambio Un proceso puede ser retirado temporalmente de la memoria a algún almacenado auxiliar; más tarde será incorporado de nuevo a la memoria para que continúe su ejecución Almacenamiento auxiliar – disco rápido con capacidad suficiente para albergar copias de imágenes de memoria para todos los usuarios; debe proporcionar acceso directo a estas imágenes de la memoria Roll out, roll in – variante del intercambio usada para algoritmos de planificación basados en prioridad; un proceso de baja prioridad es retirado de memoria para que otro con mayor prioridad pueda ser cargado y ejecutado La mayor parte del tiempo de intercambio es tiempo de transferencia; el tiempo de transferencia total es directamente proporcional a la cantidad de memoria intercambiada En muchos sistemas (ej. UNIX, Linux, y Windows) se pueden encontrar versiones modificadas del intercambio El SO mantiene una cola de listos para los procesos intercambiados que pueden ejecutarse

Vista Esquemática del Intercambio

Tema 10.2: Asignación de Espacio Contiguo

Asignación de Espacio Contiguo La memoria principal se encuentra dividida en dos partes: SO residente (kernel), normalmente en posiciones bajas de la memoria junto al vector de interrupciones 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

Asignación Estática de Memoria Particionada Asignación estática con múltiples particiones 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 El SO mantiene información sobre: a) particiones asignadas b) particiones libres (huecos) SO P5 P8 P2 SO P5 P2 SO P5 P2 P9 SO P5 P2 P9 P10 intenta entrar P8 sale P9 entra

Asignación Estática de Memoria Particionada Hay varias formas de satisfacer una solicitud de tamaño n partiendo de una lista de huecos 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

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 La compartición de memoria entre procesos no es sencilla Los procesos no pueden compartir memoria directamente debido a la protección Una solución consiste en implicar al SO en la compartición de memoria

Protección de Direcciones con Registros Base y 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 La compartición se puede conseguir mediante solapamiento de particiones SO P5 P8 P2 SO P5 P2 SO P5 P2 P9 SO P5 P9 P2 P10 P8 sale P9 entra P10 entra

Asignación Dinámica de Memoria Hay varias formas de satisfacer una solicitud de tamaño n partiendo de una lista de huecos 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 Los métodos de primer y mejor ajuste son mejores que el peor ajuste en términos de velocidad y aprovechamiento de la memoria

Fragmentación 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 La fragmentación externa se puede reducir por medio de la compactación Mover las particiones de memoria asignadas para colocar toda la memoria libre en un bloque contiguo Es posible sólo si la vinculación es en tiempo de ejecución (reubicación dinámica) Hay problemas con la E/S Fijar la posición en memoria de los procesos que hacen E/S Hacer E/S sólo en buffers del SO