Administración de Memoria no contigua

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
Administración de memoria
Administración de Memoria Virtual
Capítulo 8 Memoria virtual.
Sistemas Operativos Gestión de Memoria.
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.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Introducción a los Sistemas Operativos Memoria Virtual
Modelo de procesos de dos estados
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
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez
Unidad V Administración de la Memoria
Direcciones físicas y direcciones virtuales (lógicas)
Arquitectura del Computador
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
Simulador didáctico de jerarquías 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.
Administración de la memoria
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.),
Overview Sistemas Computacionales
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
Antecedentes Memoria virtual – separación de la memoria lógica de la física Sólo parte del programa necesita estar en memoria en un momento dado para.
Capítulo 7 Gestión de memoria.
Gestión de procesos Sistemas Operativos Edwin Morales
Tema VII Memoria Virtual.
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.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Memoria virtual.
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.
ADMINISTRACIÓN DE LA MEMORIA
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Tema 10: Gestión de Memoria
Gestión de Memoria.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.
Memoria Virtual Msc. Rina Arauz.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
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.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
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.
Arquitectura de Computadores
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Administración de Memoria no contigua Capítulo 6 (Milenkovic)

Asignación no contigua Partes de un solo objeto lógico pueden ser colocadas en áreas no contiguas de memoria física. Traducción de direcciones: Establecen la correspondencia necesaria entre un espacio de direcciones virtuales contiguo y las direcciones físicas discontiguas.

Paginación Suprime el requisito de asignación contigua en memoria física. La memoria se divide en una serie de porciones de tamaño fijo, llamadas marcos de página. El espacio de direcciones virtuales de un proceso se divide en bloques de tamaño fijo del mismo tamaño llamados páginas.

Paginación: principios de operación. Las direcciones virtuales se dividen en dos partes: El número de página. El desplazamiento dentro de esa página. Por ejemplo: 003 200 Por conveniencia en la traducción se recomienda un tamaño de página que sea potencia de 2.

Traducción de direcciones La traducción se efectúa con ayuda de una tabla de correspondencia, llamada tabla de mapa de páginas (TMP). La TMP se construye en tiempo de carga del proceso con el fin de establecer la correspondencia entre direcciones virtuales y físicas. Hay una entrada por cada página del proceso. Cada entrada contiene el número de marco de página.

Traducción de direcciones cont. La porción de la dirección virtual que refiere al número de página es un índice en la TMP. Se toma el valor de esa entrada y se concatena el desplazamiento.

Tabla de mapa de memoria El SO lleva la cuenta del estado de cada marco de página. LIBRE o ASIGNADO. Por tanto, una TMM tiene un número fijo de entradas igual al número de marcos de página: f = m/p, donde m es la memoria total y p es el tamaño de página.

Carga de un proceso Cuando se solicita cargar un proceso de tamaño t, el SO debe asignar n marcos de página libres: n=ceil(t/p) El SO asigna memoria en términos de un número entero de marcos de página. El último marco puede estar parcialmente inutilizado: Fragmentación o ruptura de página.

Asignación Hallar “cualesquiera” n marcos de página libres. Todos los marcos son de tamaño idéntico: política de asignación no influye en la utilización. No hay consideraciones sobre mejor o peor ajuste: todas las páginas encajan en todos los marcos.

Asignación cont. Hay una TMM en cada sistema. Hay tantas TMP como procesos activos. Cuando el proceso termina o es retirado de memoria, su memoria es desasignada liberando los marcos utilizados.

Protección Las referencias a memoria del proceso están restringidas a su propio espacio de direcciones. Utilizar la TMP para detectar y abortar los intentos de acceder a memoria más allá de las fronteras legales.

Protección cont. Es posible incluir bits de acceso a las entradas de la TMP: Sólo lectura. Sólo ejecución.

Compartición Una sola copia de una página compartida puede hacerse corresponder fácilmente con tantos espacios de direcciones como se desee. Diferentes procesos pueden tener diferentes privilegios.

Memoria virtual Permite que sólo una parte del espacio de direcciones virtuales de un proceso “residente” sea cargada realmente en memoria física. Es decir, procesos parcialmente cargados. La suma de los espacios de todos los procesos puede exceder a la capacidad de la memoria física.

Memoria virtual cont. Los esquemas de memoria real se esfuerzan por alcanzar la utilización al 100% de la memoria. Memoria virtual proporciona factores de utilización aparente arriba del 100%. El tamaño permisible de un proceso puede ser más grande que la memoria física.

Memoria virtual cont. La gestión de la memoria virtual es transparente a los programadores: No se preocupan por ajustar sus programas a un tamaño. Programan para una plataforma, no para una configuración en específico. Es posible ejecutar procesos parcialmente cargados.

Principios de operación de la memoria virtual Se puede implementar como una extensión de memoria paginada o segmentada. Traducción de direcciones por medio de una función f:V->M que regrese: r si el elemento x está en memoria real en la posición r Excepción por elemento ausente si el elemento x no está en memoria real – fallo de página.

Principios de operación de la memoria virtual cont. Generalmente se maneja añadiendo el indicador presencia en la TMP: Dentro: la página se encuentra en memoria física. Fuera: la página se encuentra en disco.

Tabla de mapa de archivo La TMA contiene la dirección en disco de la página. Tiene el mismo tamaño que la TMP. Por facilidad, puede ser incluida como un campo extra de la TMP.

Interrupción de instrucciones Algunas instrucciones hacen más de una referencia a memoria. Si alguna de estas referencias resulta en un fallo de página el hardware de soporte de memoria virtual deberá ser capaz de: Deshacer los efectos parciales de la instrucción interrumpida. Reanudar la instrucción desde el punto exacto de interrupción. Preexaminar las referencias a memoria buscando fallos de página.

Políticas en la gestión de memoria virtual Política de asignación: que cantidad de páginas se asignan a cada proceso. Política de acceso: que elementos se incorporan y cuando se les incorpora. Política de sustitución: Si no existe memoria real libre, qué elemento se desaloja con el fin de dejar espacio para uno nuevo. Política de ubicación: dónde se coloca un nuevo elemento.

Políticas de acceso En la mayoría de los casos los elementos son traidos a memoria cuando se produce un fallo de página: Paginación por demanda. Aunque también son concebibles políticas anticipatorias o de prebusqueda.

Políticas de ubicación En paginación no importa que marco de página se asigne. Todos los marcos libres son adecuados para alojar una página.

Comportamiento de los programas La velocidad de ejecución está limitada por arriba por la velocidad de ejecución del mismo programa bajo gestión de memoria no virtual. Minimizando el número de fallos de página la utilización efectiva del CPU y el tiempo de ejecución puede ser mejorado.

Comportamiento de los programas No podemos predecir que páginas van a ser utilizadas. Algunas partes no se ejecutan bajo ciertas condiciones. Localidad de referencia: favorecer ciertos subconjuntos de direcciones. Localidad espacial: tendencia de un programa a referenciar posiciones agrupadas. Localidad temporal: referenciar la misma posición o grupo de posiciones varias veces durante breves intervalos de tiempo.

Políticas de sustitución Si no existen marcos de página disponibles es posible: Suspender el proceso hasta que haya espacio disponible en memoria real. Desalojar una página para dejar sitio a la recién llegada. La política de sustitución gobierna la elección de la página “víctima” cuando se va a producir un desalojo.

Políticas de sustitución cont. Dependiendo de si la página ha sido modificada o no será necesario reescribirla a disco o descartala. Utilizar un bit de modificación: 0 cuando se carga. 1 cuando se modifica.

Algoritmo FIFO Se sustituye la página que lleve más tiempo en memoria. Se puede implementar con una lista. El rendimiento es relativamente pobre: Páginas que acaban de ser desalojadas pueden ser requeridas a continuación. Anomalía de Belady: FIFO hace que aumente el número de fallos de página cuando se asignan más páginas reales al programa.

Ejemplos Uso de 3 marcos: 144, A1, 144, 263, 144, 168, 144, A1, 179, A1, A2, 263 Anomalía de Belady (3 y 4 marcos): 3, 2, 1, 0, 3, 2, 4, 3, 2, 1, 0, 4

Algoritmo LRU Least Recently Used. Sustituye la página residente menos recientemente usada. Toma en cuenta los patrones de comportamiento de programas. Supone que la página utilizada en el pasado más distante es menos probable que sea referenciada en el futuro cercano. No experimenta la anomalía de Belady.

Algoritmo LRU cont. La implementación impone demasiado recargo. La actualización a la pila de referencias debe hacerse en cada referencia a página. La cola de FIFO solo necesita ser actualizada cuando ocurre un fallo de página.

Proyecto