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.),

Slides:



Advertisements
Presentaciones similares
IMPLEMENTACION CONTIGUA Y NO CONTIGUA
Advertisements

GESTION DE MEMORIA.
Administración de memoria
Administración de Memoria Virtual
Sistemas Operativos Gestión de Memoria.
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
GESTION DE DISPOSITIVOS
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Introducción a los Sistemas Operativos Memoria Virtual
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
Teoría de lenguajes y compiladores
ADMINISTRACIÓN DE MEMORIA
Robiro A. Asuaje L.23/08/20141 Organización de la Memoria SISTEMAS OPERATIVOS. Universidad Centro-Occidental “ Lisandro Alvarado ” Decanato de Ciencias.
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Unidad V Administración de la Memoria
Direcciones físicas y direcciones virtuales (lógicas)
Paginación-Segmentación Fundamentos Translación de Direcciones Tabla de páginas Segmentación Emely Arráiz Ene-Mar 08.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Nombre, Alcance y Asociaciones (Bindings). Agenda Definición Nombre y Bindings Binding Time Importancia del Binding Time Eventos relacionados a la Asociación.
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
PAGINACIÓN Y SEGMENTACIÓN
UNIDAD 3 Conceptos de Sistemas Operativos.
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.
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.
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
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.
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.
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.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Tema 10: Gestión de Memoria
Estructura de los Sistemas Operativos
Gestión de Memoria.
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.
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
Unidad IV Manejo de archivos
Gestión de memoria Rina Arauz.
2.2.2 S EGMENTACIÓN Jorge Javier Camacho Cortés. Samuel Gallegos Gómez. Dunia Andrea González Corona.
Arquitectura de Computadores I
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
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.
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.3: Asignación de Espacio No Contiguo

Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Segmentación Esquema de gestión de memoria que apoya la visión que el usuario tiene de la memoria Un programa es una colección de segmentos. Un segmento es una unidad lógica tal como: programa principal, procedimiento, función, método, objeto, variables locales, variables globales, bloque común, pila, tabla de símbolos, arrays

Tema 10.3: 3 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Programa Visto por un Usuario

Tema 10.3: 4 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Vista Lógica de la Segmentación Espacio de usuario Espacio de memoria física

Tema 10.3: 5 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de la Segmentación Una dirección lógica consiste en un par: Tabla de segmentos – contiene información sobre la ubicación de los segmentos en memoria; cada entrada tiene: base – contiene la dirección física en la que comienza el segmento límite – especifica la longitud del segmento El Registro base de la tabla de segmentos (STBR) apunta a la localización en memoria de la tabla de segmentos El Registro de longitud de la tabla de segmentos (STLR) indica el número de segmentos usados por un programa; el número de segmento s es legal si s < STLR

Tema 10.3: 6 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Hardware de Segmentación

Tema 10.3: 7 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de la Segmentación Protección En cada entrada de la tabla de segmentos hay:  bit de validez = 0  segmento ilegal  privilegios de lectura/escritura/ejecución Los bits de protección están asociados con los segmentos; la compartición de código ocurre a nivel de segmento Ya que los segmentos varían en longitud, la asignación de memoria es un problema de asignación dinámica

Tema 10.3: 8 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Ejemplo de Segmentación

Tema 10.3: 9 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Paginación El espacio de direcciones lógicas de un proceso puede ser no contiguo en memoria; así se puede asignar memoria al proceso siempre que haya alguna disponible Se divide la memoria física en bloques de tamaño fijo llamados marcos (el tamaño es una potencia de 2 entre 512 y 8192 bytes) Se divide el espacio de direcciones lógicas de los procesos en bloques llamados páginas Se mantiene una lista con los marcos libres Para ejecutar un programa de tamaño n páginas, hace falta encontrar n marcos libres y cargar el programa Se usa una tabla de páginas para transformar las direcciones lógicas en direcciones físicas En este esquema aparece la fragmentación interna

Tema 10.3: 10 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de Traducción de Direcciones Una dirección generada por un proceso es dividida en: Página (p) – usado como índice en la tabla de páginas que contiene la dirección base de cada página en memoria física Desplazamiento (d) – se combina con la dirección base para definir la dirección de memoria física que se envía a la unidad de memoria Ej.: Dado un espacio de direcciones lógicas de 2 m y tamaño de página 2 n número de página desplazamiento p d m - n n

Tema 10.3: 11 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Hardware de Paginación

Tema 10.3: 12 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Memoria Física y Lógica en la Paginación

Tema 10.3: 13 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Ejemplo de Paginación Memoria de 32 bytes y páginas de 4 bytes

Tema 10.3: 14 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Marcos Libres Antes de la asignación Después de la asignación

Tema 10.3: 15 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Implementación de la Tabla de Páginas La tabla de páginas se mantiene en memoria principal El registro base de la tabla de páginas (PTBR) apunta al inicio de la tabla de páginas El registro longitud de la tabla de páginas (PRLR) indica el tamaño de la tabla de páginas En este esquema cada acceso a dato o instrucción requiere dos accesos a memoria. Uno para la tabla de páginas y otro para obtener el dato o instrucción Se puede agilizar el proceso usando una pequeña memoria asociativa o TLB (translation look-aside buffer)

Tema 10.3: 16 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Memoria Asociativa Memoria asociativa – búsqueda en paralelo Traducción de direcciones (p, d) Si p está en un registro asociativo se obtiene el número de marco Si no, se obtiene el número de marco de la tabla de páginas que está en memoria principal # Página# Marco

Tema 10.3: 17 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Hardware de Paginación con TLB

Tema 10.3: 18 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Tiempo de Acceso Efectivo Búsqueda asociativa =  unidades de tiempo Acceso a memoria = m Tasa de acierto – probabilidad de encontrar una página en los registros asociativos; este valor depende de las peticiones de páginas y del número de registros asociativos Tasa de acierto =  Tiempo de acceso efectivo (Effective Access Time, EAT) EAT = (m +  )  + (2m +  )(1 –  ) = 2m –  m + 

Tema 10.3: 19 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Protección de la Memoria La protección de la memoria se implementa asociando un bit de protección con cada página Hay un bit de validez en cada entrada de la tabla de páginas: “válido” indica que la página asociada está en el espacio de direcciones lógico del proceso, y por tanto es legal el acceso “inválido” indica que la página no está en el espacio de direcciones lógico del proceso

Tema 10.3: 20 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Bit de Validez en una Tabla de Páginas

Tema 10.3: 21 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Páginas Compartidas Gracias al uso de la tabla de páginas varios procesos pueden compartir un marco de memoria; para ello ese marco debe estar asociado a una página en la tabla de páginas de cada proceso El número de página asociado al marco puede ser diferente en cada proceso Código compartido Los procesos comparten una copia de código reentrante de sólo lectura (ej., editores de texto, compiladores) Los datos son privados a cada proceso y se encuentran en páginas no compartidas

Tema 10.3: 22 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Ejemplo de páginas compartidas

Tema 10.3: 23 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Biblioteca Compartida con Memoria Virtual

Tema 10.3: 24 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Copia en Escritura La copia en escritura (Copy-on-Write, COW) permite a los procesos padre e hijo compartir inicialmente las mismas páginas de memoria Si uno de ellos modifica una página compartida la página es copiada COW permite crear procesos de forma más eficiente debido a que sólo las páginas modificadas son duplicadas

Tema 10.3: 25 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), El Proceso 1 Modifica la Página C (Antes)

Tema 10.3: 26 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), El Proceso 1 Modifica la Página C (Después)

Tema 10.3: 27 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Tabla de Páginas Multinivel Divide el espacio de direcciones lógicas en múltiples tablas de páginas Un ejemplo simple es una tabla de páginas de dos niveles

Tema 10.3: 28 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Ejemplo de Paginación de Dos Niveles Una dirección lógica (en una máquina de 32 bits con tamaño de páginas de 4K) se divide en: un número de página de 20 bits un desplazamiento dentro de la página de 12 bits Ya que la tabla de páginas está paginada y cada entrada de la tabla de páginas ocupa 4 bytes, el número de página es de nuevo dividido en: un número de página de 10 bits un desplazamiento de 10 bits Por tanto, una dirección lógica tiene el siguiente aspecto: donde p 1 es un índice en la tabla externa y p 2 es un desplazamiento en la segunda tabla de páginas número de página desplazamiento p1p1 p2p2 d 10 12

Tema 10.3: 29 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de Traducción de Direcciones

Tema 10.3: 30 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de Paginación de Tres Niveles

Tema 10.3: 31 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Tabla de Páginas Invertida Una entrada por cada marco de memoria Las entradas contienen la dirección virtual de la página almacenada en el marco con información sobre el proceso que la posee Disminuye la memoria necesaria para almacenar cada tabla de páginas pero aumenta el tiempo requerido para buscar en la tabla cuando ocurre una referencia a memoria Solución: usar una tabla hash para limitar la búsqueda a una entrada (o unas pocas como mucho)

Tema 10.3: 32 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de la Tabla de Páginas Invertida

Tema 10.3: 33 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Segmentación con Paginación La paginación y la segmentación se pueden combinar en la segmentación con paginación En este esquema de gestión de memoria los segmentos se paginan Se apoya la visión de la memoria que tiene el usuario Se resuelve el problema de la asignación dinámica Es necesario una tabla de segmentos y una tabla de páginas por cada segmento La traducción de direcciones es más compleja y puede requerir un mayor número de accesos a memoria en el peor caso

Tema 10.3: 34 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Ejemplo: El Intel Pentium Soporta segmentación y segmentación con paginación El proceso genera una dirección lógica Se le da a la unidad de segmentación  Que produce una dirección lineal La dirección lineal pasa a la unidad de paginación  Que genera la dirección física para la memoria principal

Tema 10.3: 35 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Segmentación del Intel Pentium

Tema 10.3: 36 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Esquema de Paginación del Pentium

Tema 10.3: 37 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Direcciones Lineales en Linux Se dividen en cuatro partes (paginación de tres niveles):