Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;

Slides:



Advertisements
Presentaciones similares
Administración de Memoria Virtual
Advertisements

III - Gestión de memoria
Introducción a los Sistemas Operativos Memoria Virtual
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
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.
Tema 10: Gestión de Memoria
Administración de memoria
Administración de Memoria Memoria Virtual
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
Capítulo 7 Gestió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.
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
Gestión de Memoria.
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
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
7 Fragmentación Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
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.
Gestión de Memoria Principal
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Tema 11: Segmentación y Paginación de la Memoria
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Conceptos de sistemas de información 4 Sistema de información formal –Es un medio informativo organizacionalmente eficaz, que es diseñado con la finalidad.
JANITH SULAY JAIMES PABON GIOVANNY JIMÉNEZ GÓMEZ JOHN ANDRES AYALA ANGARITA SERGIO ANDRES ARAQUE BERMUDEZ GESTIÓN DE ALMACENAMIENTO SECUNDARIO.
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.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Estructura de un ordenador. Ronald Valverde Zambrano.
Paginamiento / Paging Sistemas Operativos 16 de Septiembre de 2011.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
PARTICIONES EN UN DISCO DURO Diagnóstico y Mantenimiento INTE 3020 Elena López 15/11/2013.
Administración de Memoria
Estructuras de interconexión de un computador
Teoría de Sistemas Operativos Archivos
“Administración de memoria”
Tema 2. Introducción a los Sistemas Operativos
Gestión de memoria.
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Memoria Introducción.
ADMINISTRACION DE LA MEMORIA
Otros temas sobre cachés
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Organización del caché
Computación Curso 2017.
Memoria virtual.
ORGANIZACIÓN Y ADMINISTRACIÓN DE LA MEMORIA VIRTUAL
Memoria virtual.
Conceptos de bases de datos
Algoritmos de reemplazo
P P AGINACION FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS.
Sistema de Archivos UNIX Windows
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Fundamentos de la Programación I
SISTEMAS OPERATIVOS MEMORIA VIRTUAL.
Pipelining Peligros de control.
MC Beatriz Beltrán Martínez Otoño 2017
Arquitectura de ordenadores
Informática Ingeniería en Electrónica y Automática Industrial
Otros temas sobre cachés
Estructura de un equipo microinformático
Organización del caché
Transcripción de la presentación:

Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto; se debe recompilar el código si cambia. Tiempo de carga: el compilador debe generar código reubicable. Tiempo de ejecución: la vinculación es demorada hasta la ejecución. Si el proceso puede ser movido durante su ejecución, se necesita hardware especial (p. ej. registro base y límite).

Espacio de Direcciones Lógicas vs. Espacio de Direcciones Físicas Dirección lógica – generada por la CPU; también conocida como dirección virtual. Dirección física – dirección utilizada por la unidad de memoria.

Unidad de Administración de Memoria( MMU )‏ Dispositivo de hardware que mapea direcciones virtuales a físicas. En la MMU, el valor del registro de re- ubicación es sumado a toda dirección generada por un proceso del usuario antes de ser enviada a memoria. El programa del usuario trabaja con direcciones lógicas; nunca ve las direcciones físicas reales.

Reubicación Dinámica Utilizando un Registro de Reubicación

Técnicas de Manejo de Memoria Carga Dinámica  La rutina no es cargada hasta que se invoca  Mejor utilización del espacio de memoria; las rutinas que no se usan nunca se cargan. Enlace Dinámico  Una pequeña pieza de código, stub, se usa para encontrar la rutina de librería apropiada.  El stub se reemplaza a si mismo con la dirección de la rutina, y ejecuta la rutina.

Overlays

Esquema de Swapping

Asignación Continua La memoria principal generalmente está dividida en 2 particiones:  SO residente, generalmente mantenido en memoria baja con el vector de interrupciones.  Procesos del usuario mantenidos en memoria alta. Asignación con una sola partición  Se utiliza un registro de reubicación para proteger los procesos de usuario entre si, y evitar que se modifique el código del SO.  El registro de reubicación contiene el valor de la menor dirección física; el registro límite contiene el rango de direcciones lógicas – cada dirección lógica debe ser menor que el registro límite.

Soporte de Hardware para Registros de Reubicación y Límite

Asignación Continua (Cont.)‏ Asignación con particiones múltiples  Hueco – bloque de memoria disponible; huecos de distinto tamaño están desparramados por la memoria.  Cuando un proceso llega, se le asigna un hueco lo suficientemente grande para contenerlo.  Los SO mantienen información acerca de: a) particiones asignadas b) particiones libres (hueco)‏ OS proceso 5 proceso 8 proceso 2 OS proceso 5 proceso 2 OS proceso 5 proceso 2 OS proceso 5 proceso 9 proceso 2 proceso 9 proceso 10

Problema de Asignación Dinámica Primer-ajuste: asigna el primer hueco que sea lo suficientemente grande. Mejor-ajuste: asigna el menor hueco que es suficientemente grande; debe inspeccionar la lista completa, a no ser que este ordenada por tamaño. Deja el menor espacio libre. Peor-ajuste: asigna el hueco más grande; también debe buscar en la lista. Deja el mayor espacio libre. Como satisfacer un pedido de tamaño n con una lista de huecos libres? Primer-ajuste y mejor-ajuste son mejores que peor-ajuste en términos de velocidad y utilización de espacio.

Fragmentación Fragmentación Externa – existe espacio para satisfacer un pedido pero no continuo. Fragmentación Interna – la memoria asignada es mayor que la pedida; esta diferencia es memoria interna de una partición, pero no usada. Reducción de fragmentación externa por compactación  Mueve el contenido de memoria para ubicar toda la memoria libre junta en un gran bloque.  La compactación es posible solo si la reubicación es dinámica, y en tiempo de ejecución.  Problema de E/S Dejar trabajos en memoria mientras están efectuando E/S. Hacer E/S sólo en buffers del SO.

Compactación

Esquema de Traducción de Direcciones Las direcciones generadas por la CPU se dividen en:  Número de página (p) – usado como índice en una tabla de páginas que contiene la dirección base de cada página en la memoria física.  Desplazamiento de página (d) – combinado con la dirección base para definir la dirección física enviada a la unidad de memoria.

Arquitectura de Traducción de Direcciones

Ejemplo de Paginación

Implementación de la Tabla de Páginas La tabla es mantenida en memoria principal. Page-table base register (PTBR) apunta a la tabla de páginas. Page-table length register (PRLR) indica el tamaño de la tabla de páginas. En este esquema cada acceso a datos/instrucciones requiere 2 accesos a memoria. Uno para la tabla de páginas y otro para el dato/instrucción. El problema puede ser resuelto utilizando un cache de hardware especial de búsqueda rápida llamado memoria asociativa o translation look-aside buffers (TLBs)‏

Hardware de Paginación con TLB

Tiempo de Acceso Efectivo Búsqueda Asociativa =  unidades de tiempo Se asume que el tiempo de ciclo de memoria es 1 microsegundo. Tasa de aciertos – % de veces que un número de página se encuentra en registros asociativos; la tasa está asociada al número de registros asociativos. Tasa de acierto =  Tiempo de acceso efectivo (EAT)‏ EAT = (1 +  )  + (2 +  )(1 –  )‏ = 2 +  –  (si  y  EAT=1.25,  EAT=1.12)‏

Bit de Valido (v) o Invalido (i) Bit en una Tabla de Páginas

Estructura de la Tabla de Páginas Paginación Jerárquica Tablas de Páginas Hasheadas Tablas de Páginas Invertidas

Esquema de Tabla de Página de 2 Niveles

Esquema de Traducción de Direcciones Esquema de traducción de direcciones para una arquitectura de 32 bits de paginación de 2 niveles.

Tabla de Páginas Hasheada

Arquitectura de una Tabla de Páginas Invertidas

Ejemplo de Páginas Compartidas

Vista del Usuario de un Programa

Vista Lógica de la Segmentación espacio de usuarioespacio de memoria física

Arquitectura de Segmentación Las direcciones lógicas son formadas por una tupla:, Tabla de Segmentos – mapea direcciones físicas bi- dimensionales; cada entrada de la tabla tiene:  base – contiene la dirección física de comienzo donde residen los segmentos.  límite – especifica la longitud del segmento. Segment-table base register (STBR) apunta a la ubicación de la tabla de segmentos en memoria. Segment-table length register (STLR) indica el número de segmentos usados por un programa; el número de segmento s es válido si s < STLR.

Arquitectura de Segmentación (Cont.)‏ Reubicación.  dinámica  por tabla de segmento Compartimiento.  segmentos compratidos  mismo número de segmento Ubicación.  primer ajuste/mejor ajuste  fragmentación externa

Arquitectura de Segmentación (Cont.)‏ Protección. Con cada entrada en la tabla de segmentos se asocia:  bit de validación = 0  segmento inválido  permisos de lectura/escritura/ejecución Bits de protección asociados con los segmentos; el compartimiento de código sucede a nivel de segmento. Dado que los segmentos tienen distinto tamaño, es un problema de asignación dinámica.

Hardware de Segmentación

Ejemplo de Segmentación

Segmentos Compartidos

Esquema de Traducción de Direcciones en MULTICS