Capítulo 4 Gestión de memoria



Documentos relacionados
Gestión de memoria en Servidores de Información Multimedia

Gestión de Memoria. Curso AT3148 Ampliación de Sistemas Operativos A. Sánchez-Macián, J.A. Maestro, M.P.

Tema 6. Gestión de la memoria

Sistemas operativos. Tema 7: Gestión n de memoria

Capitulo V Administración de memoria

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Unidad 2: Gestión de Memoria

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad II: Administración de Procesos y del procesador

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de SEGUNDA PARTE - SOLUCIONES

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 4. Gestión Avanzada de Memoria

Tarea 4.2 Memoria Virtual

Clase 3. Discos Duros (continuación)

Sistemas Operativos Tema 8. Gestión de memoria José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Examen de Arquitectura de Computadores

GESTIÓN DE LA DOCUMENTACIÓN

SISTEMAS OPERATIVOS AVANZADOS

Manual de usuario Sucursal Virtual

Tema 2. Diseño del repertorio de instrucciones

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

Tema 4. Gestión de entrada/salida

TEMA 8: GESTIÓN DE MEMORIA.

1. Sistema Operativo Unix

Sistemas operativos: una visión aplicada. Capítulo 4 Gestión de memoria

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Colegio Belen COMPUTACION

Requerimientos principales de un sistema operativo

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

HP Backup and Recovery Manager

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

BASES DE DATOS TEMA 1

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Centro de Capacitación en Informática

Sistemas Operativos. Curso 2016 Procesos

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

TEMA 3. GESTIÓN DE MEMORIA

Tema 16. Impresoras. Administración de Sistemas Operativos. Mª Pilar González Férez

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Procesos. Planificación del Procesador.

Tema 4. Administración de la memoria

Sistemas Operativos II Febrero 2009 Nombre:

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Módulo: Ahorra espacio ÍNDICE 1. QUÉ ES WINRAR? 3

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Introducción a los Sistemas Operativos

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Organización de Computadoras. Turno Recursantes Clase 8

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

CERO PAPEL Buenas prácticas para reducir el consumo del papel Alcaldía San Pablo Nariño

CÓMO TRABAJA TU SISTEMA OPERATIVO?

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente

Señal de petición de Interrupción

Administración de memoria: Asignación de memoria

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Unidad 2: Gestión de Procesos

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

Guía de estudio para examen de recuperación tecnología I

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Sistemas de Operación II

Organización Básica de un Computador y Lenguaje de Máquina

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Guía de instalación de Gesclivet.

Manual del Profesor Campus Virtual UNIVO

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Programa 18 Eficiencia en la gestión académica

L3 ORGANIZACIÓN DE ARCHIVOS ELECTRÓNICOS

Concepto de sistema operativo

TEMA 1. Introducción

Computación I Representación Interna Curso 2011

Microsoft Office XP Excel XP (I)

1 El sistema operativo

Tema 11. Soporte del Sistema Operativo REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS MULTIPROGRAMACIÓN.

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web:

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Un kilobyte (KB) son 1024 bytes, un Megabyte (MB) son 1024 KB, un Gigabyte son 1024 Mb

DISCOS RIGIDOS. Forman el principal elemento de la memoria secundaria de un ordenador, llamada así en oposición a la memoria principal o memoria RAM

Guía de usuario del Administrador CPA BT icomms

Programación estructurada (Interfaces Windows y Unix)

Manual de Procedimientos

Proyecto de Digitalización del Archivo Histórico de las Compañias

Manual Usuario Wordpress. Índice

El proceso de edición digital en Artelope y CTCE

Internet Explorer proporciona diversas características que le ayudan a proteger su privacidad y

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

MATERIAL 2 EXCEL 2007

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

GLOSARIO DE TÉRMINOS

Transcripción:

Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua Sistemas operativos: una visión aplicada 1 J. Carretero, F. García, P. de Miguel, F. Pérez 1

Objetivos del gestor de memoria S.O. multiplexa recursos entre procesos Cada proceso cree que tiene una máquina para él solo Gestión de procesos: Reparto de procesador Gestión de memoria: Reparto de memoria Objetivos: Ofrecer a cada proceso un espacio lógico propio Proporcionar protección entre procesos Permitir que procesos compartan memoria Dar soporte a las regiones del proceso Maximizar el grado de multiprogramación Proporcionar a los procesos mapas de memoria muy grandes Sistemas operativos: una visión aplicada 2 J. Carretero, F. García, P. de Miguel, F. Pérez Espacios lógicos independientes No se conoce posición de memoria donde un programa ejecutará Código en ejecutable genera referencias entre 0 y N Ejemplo: Programa que copia un vector 0 4... 96 100 104 108 112 116 120 124 128 132 136 Fichero Ejecutable Cabecera LOAD R1, #1000 LOAD R2, #2000 LOAD R3, /1500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /12... Vector destino a partir de dirección 2000 Tamaño del vector en dirección 1500 Vector origen a partir de dirección 1000 Sistemas operativos: una visión aplicada 3 J. Carretero, F. García, P. de Miguel, F. Pérez 2

Ejecución en S.O. monoprogramado S.O. en direcciones más altas Programa se carga en dirección 0 Se le pasa el control al programa 0 4 8 12 16 20 24 28 32 36... Memoria LOAD R1, #1000 LOAD R2, #2000 LOAD R3, /1500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /12... Sistema Operativo Sistemas operativos: una visión aplicada 4 J. Carretero, F. García, P. de Miguel, F. Pérez Reubicación Necesaria en S.O. con multiprogramación: Reubicar: Traducir direcciones lógicas a físicas Dir. lógicas: direcciones de memoria generadas por el programa Dir. físicas: direcciones de mem. principal asignadas al proceso Función de traducción: Traducción(IdProc, dir_lógica) dir_física Reubicación crea espacio lógico independiente para proceso S.O. debe poder acceder a espacios lógicos de los procesos Ejemplo: Programa tiene asignada memoria a partir de 10000 Sumar 10000 a direcciones generadas Dos alternativas: Reubicación hardware o software Sistemas operativos: una visión aplicada 5 J. Carretero, F. García, P. de Miguel, F. Pérez 3

Reubicación hardware Hardware (MMU) encargado de traducción S.O. se encarga de: Almacena por cada proceso su función de traducción Especifica al hardware qué función aplicar para cada proceso Programa se carga en memoria sin modificar Memoria PC 8 R. Instrucción LOAD R3, /1500 Procesador 1500 HW traducción 10000 + 11500 10000 10004 10008 10012 10016 10020 10024 10028 10032 10036... LOAD R1, #1000 LOAD R2, #2000 LOAD R3, /1500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /12... Sistemas operativos: una visión aplicada 6 J. Carretero, F. García, P. de Miguel, F. Pérez Reubicación software Traducción de direcciones durante carga del programa Programa en memoria distinto del ejecutable Desventajas: No asegura protección No permite mover programa en tiempo de ejecución 10000 10004 10008 10012 10016 10020 10024 10028 10032 10036... Memoria LOAD R1, #11000 LOAD R2, #12000 LOAD R3, /11500 LOAD R4, [R1] STORE R4, [R2] INC R1 INC R2 DEC R3 JNZ /10012... Sistemas operativos: una visión aplicada 7 J. Carretero, F. García, P. de Miguel, F. Pérez 4

Protección Monoprogramación: Protección del SO Multiprogramación: Además procesos entre sí Traducción debe crear espacios disjuntos Necesario validar todas las direcciones que genera el programa La detección debe realizarla el hardware del procesador El tratamiento lo hace el SO Sistemas operativos: una visión aplicada 8 J. Carretero, F. García, P. de Miguel, F. Pérez Compartimiento de memoria Direcciones lógicas de 2 o más procesos se corresponden con misma dirección física Mapa proceso 1 Bajo control del S.O. Memoria zona privada 1 Beneficios: Procesos ejecutando mismo programa zona compartida zona priv. 1 (P1) zona priv. 1 (P2) zona privada 2 comparten su código zona compartida Mecanismo de Mapa proceso 2 comunicación entre zona priv. 2 (P2) zona privada 1 procesos muy rápido zona priv. 2 (P1) Requiere asignación no contigua: zona compartida zona privada 2 Sistemas operativos: una visión aplicada 9 J. Carretero, F. García, P. de Miguel, F. Pérez 5

Problemas al compartir memoria Si posición de zona compartida contiene referencia a otra posición de la zona Ejemplo con zonas de código: Zona compartida contiene instrucción de bifurcación a instrucción dentro de la zona Ejemplo con zonas de datos: Zona contiene una lista con punteros Mapa proceso 1 2000 zona compartida Mapa proceso 2 1000 zona compartida 10000 10100 Memoria zona compartida 1100 ó 2100? Sistemas operativos: una visión aplicada 10 J. Carretero, F. García, P. de Miguel, F. Pérez Soporte de regiones Mapa de proceso no homogéneo Conjunto de regiones con distintas características Ejemplo: Región de código no modificable Mapa de proceso dinámico Regiones cambian de tamaño (p.ej. pila) Se crean y destruyen regiones Existen zonas sin asignar (huecos) Gestor de memoria debe dar soporte a estas características: Detectar accesos no permitidos a una región Detectar accesos a huecos Evitar reservar espacio para huecos S.O. debe guardar una tabla de regiones para cada proceso Sistemas operativos: una visión aplicada 11 J. Carretero, F. García, P. de Miguel, F. Pérez 6

Maximizar rendimiento Reparto de memoria maximizando grado de multiprogramación Se desperdicia memoria debido a: Restos inutilizables (fragmentación) Tablas requeridas por gestor de memoria Menor fragmentación Tablas más grandes Compromiso: Paginación Uso de memoria virtual para aumentar grado de multiprogramación 0 1 2 3 4 5 6 N-1 N Aprovechamiento de memoria óptimo e irrealizable Memoria Dirección 50 del proceso 4 Dirección 10 del proceso 6 Dirección 95 del proceso 7 Dirección 56 del proceso 8 Dirección 0 del proceso 12 Dirección 5 del proceso 20 Dirección 0 del proceso 1...... Dirección 88 del proceso 9 Dirección 51 del proceso 4 Sistemas operativos: una visión aplicada 12 J. Carretero, F. García, P. de Miguel, F. Pérez Mapas de memoria muy grandes para procesos Procesos necesitan cada vez mapas más grandes Aplicaciones más avanzadas o novedosas Resuelto gracias al uso de memoria virtual Antes se usaban overlays: Programa dividido en fases que se ejecutan sucesivamente En cada momento sólo hay una fase residente en memoria Cada fase realiza su labor y carga la siguiente No es transparente: Toda la labor realizada por programador Sistemas operativos: una visión aplicada 13 J. Carretero, F. García, P. de Miguel, F. Pérez 7

Mapa de memoria de un proceso Mapa de memoria o imagen del proceso: conjunto de regiones Región: Tiene asociada una información (un objeto de memoria ) Zona contigua tratada como unidad al proteger o compartir Cada región se caracteriza por: dirección de comienzo y tamaño inicial soporte: donde se almacena su contenido inicial protección: RWX uso compartido o privado tamaño fijo o variable Sistemas operativos: una visión aplicada 14 J. Carretero, F. García, P. de Miguel, F. Pérez Crear mapa de memoria desde ejecutable Ejecución de un programa: Crea mapa a partir de ejecutable Regiones de mapa inicial Secciones de ejecutable Código Compartida, RX, T. Fijo, Soporte en Ejecutable Datos con valor inicial Privada, RW, T. Fijo, Soporte en Ejecutable Datos sin valor inicial Privada, RW, T. Fijo, Sin Soporte (rellenar 0) Pila Privada, RW, T. Variable, Sin Soporte (rellenar 0) Crece hacia direcciones más bajas Pila inicial: argumentos del programa Sistemas operativos: una visión aplicada 15 J. Carretero, F. García, P. de Miguel, F. Pérez 8

Crear mapa desde ejecutable Sistemas operativos: una visión aplicada 16 J. Carretero, F. García, P. de Miguel, F. Pérez Otras regiones del mapa de memoria Durante ejecución de proceso se crean nuevas regiones Mapa de memoria tiene un carácter dinámico Región de Heap Soporte de memoria dinámica (malloc en C) Privada, RW, T. Variable, Sin Soporte (rellenar 0) Crece hacia direcciones más altas Archivo proyectado Región asociada al archivo proyectado T. Variable, Soporte en Archivo Protección y carácter compartido o privado especificado en proyección Sistemas operativos: una visión aplicada 17 J. Carretero, F. García, P. de Miguel, F. Pérez 9

Otras regiones del mapa de memoria Memoria compartida Región asociada a la zona de memoria compartida Compartida, T. Variable, Sin Soporte (rellenar 0) Protección especificada en proyección Pilas de threads Cada pila de thread corresponde con una región Mismas características que pila del proceso Carga de biblioteca dinámica Se crean regiones asociadas al código y datos de la biblioteca Sistemas operativos: una visión aplicada 18 J. Carretero, F. García, P. de Miguel, F. Pérez Características de regiones Región Soporte Protección Comp/Priv Tamaño Código Fichero RX Compartida Fijo Dat. con v.i. Fichero RW Privada Fijo Dat. sin v.i. Sin soporte RW Privada Fijo Pilas Sin soporte RW Privada Variable Heap Sin soporte RW Privada Variable F. Proyect. Fichero por usuario Comp./Priv. Variable M. Comp. Sin soporte por usuario Compartida Variable Sistemas operativos: una visión aplicada 19 J. Carretero, F. García, P. de Miguel, F. Pérez 10

Mapa de memoria de un proceso hipotético Sistemas operativos: una visión aplicada 20 J. Carretero, F. García, P. de Miguel, F. Pérez Operaciones sobre regiones Para estudiar evolución del mapa de memoria se pueden distinguir las siguientes operaciones: Crear región Implícitamente al crear mapa inicial o por solicitud del programa en t. de ejecución (p.ej. proyectar un archivo) Eliminar región Implícitamente al terminar el proceso o por solicitud del programa en t. de ejecución (p.ej. desproyectar un archivo) Cambiar tamaño de la región Implícitamente para la pila o por solicitud del programa para el heap Duplicar región Operación requerida por el servicio FORK de POSIX Sistemas operativos: una visión aplicada 21 J. Carretero, F. García, P. de Miguel, F. Pérez 11

Asignación contigua Mapa de proceso en zona contigua de memoria principal Hardware requerido: Regs. valla (R. base y R. límite) Sólo accesibles en modo privilegiado. Sistemas operativos: una visión aplicada 22 J. Carretero, F. García, P. de Miguel, F. Pérez Asignación contigua S.O. mantiene información sobre: Copia del valor de regs. valla de cada proceso en su BCP En c. contexto S.O. carga en regs. valor adecuado Estado de ocupación de la memoria Estructuras de datos que identifiquen huecos y zonas asignadas Regiones de cada proceso Este esquema presenta fragmentación externa: Se generan pequeños fragmentos libres entre zonas asignadas Posible solución: compactación proceso costoso Sistemas operativos: una visión aplicada 23 J. Carretero, F. García, P. de Miguel, F. Pérez 12

Política de asignación de espacio Qué hueco usar para satisfacer una petición? Posibles políticas: Primer ajuste: Asignar el primer hueco con tamaño suficiente Mejor ajuste: Asignar el menor hueco con tamaño suficiente Lista ordenada por tamaño o buscar en toda la lista Peor ajuste : Asignar el mayor hueco con tamaño suficiente Lista ordenada por tamaño o buscar en toda la lista Primer ajuste es más eficiente y proporciona buen aprovechamiento de la memoria Estrategia más sofisticada: Sistema Buddy Listas de huecos con tamaños potencias de 2 Sistemas operativos: una visión aplicada 24 J. Carretero, F. García, P. de Miguel, F. Pérez Operaciones sobre regiones con a. contigua Al crear proceso se le asigna zona de memoria de tamaño fijo Suficiente para albergar regiones iniciales Con huecos para permitir cambios de tamaño y añadir nuevas regiones (p.ej. bibliotecas dinámicas o pilas de threads) Díficil asignación adecuada Si grande se desperdicia espacio, si pequeño se puede agotar Crear/liberar/cambiar tamaño usan la tabla de regiones para gestionar la zona asignada al proceso Duplicar región requiere crear región nueva y copiar contenido Limitaciones del hardware impiden compartir memoria y detectar accesos erróneos o desbordamiento de pila Sistemas operativos: una visión aplicada 25 J. Carretero, F. García, P. de Miguel, F. Pérez 13

Valoración del esquema de asignación contigua Proporciona las funciones deseables en un gestor de memoria? Espacios independientes para procesos: mediante registros valla Protección: mediante registros valla Compartir memoria: no es posible Soporte de regiones: no existe se reserva espacio para huecos Maximizar rendimiento y mapas grandes mal aprovechamiento de memoria por fragmentación externa no permite memoria virtual Sistemas operativos: una visión aplicada 26 J. Carretero, F. García, P. de Miguel, F. Pérez Intercambio Qué hacer si no caben todos los programas en mem. principal? Uso de intercambio (swapping) Swap: partición de disco que almacena imágenes de procesos Swap out: Cuando no caben en memoria procesos activos, se expulsa proceso de memoria copiando imagen a swap Diversos criterios de selección del proceso a expulsar P.ej. Dependiendo de prioridad del proceso Preferiblemente un proceso bloqueado No expulsar si está activo DMA sobre mapa del proceso No es necesario copiar todo el mapa (ni código ni huecos) Sistemas operativos: una visión aplicada 27 J. Carretero, F. García, P. de Miguel, F. Pérez 14

Intercambio Swap in: Cuando haya espacio en memoria principal, se lee proceso a memoria copiando imagen desde swap También cuando un proceso lleva un cierto tiempo expulsado En este caso antes de swap in, hay swap out de otro Asignación de espacio en el dispositivo de swap: Con preasignación: se asigna espacio al crear el proceso Sin preasignación: se asigna espacio al expulsarlo Usado en primeras versiones de UNIX Solución general Uso de esquemas de memoria virtual Aunque se sigue usando integrado con esa técnica Sistemas operativos: una visión aplicada 28 J. Carretero, F. García, P. de Miguel, F. Pérez Memoria virtual M. virtual: S.O. gestiona niveles de M. principal y M. secundaria Transferencia de bloques entre ambos niveles De M. secundaria a principal: por demanda De M. principal a secundaria: por expulsión Aplicable porque procesos exhiben proximidad de referencias Procesos sólo usan parte de su mapa en intervalo de tiempo M. virtual: intentar que parte usada (conjunto de trabajo) resida en m. principal (conjunto residente) Dirección lógica Dirección virtual Beneficios: Aumenta el grado de multiprogramación Permite ejecución de programas que no quepan en mem. ppal No adecuada para sistemas de tiempo real Normalmente basada en paginación Sistemas operativos: una visión aplicada 29 J. Carretero, F. García, P. de Miguel, F. Pérez 15

Paginación. Aspectos hardware Asignación no contigua.unidad: página (tamaño potencia de 2) Mapa de memoria del proceso dividido en páginas Memoria principal dividida en marcos (tam. marco=tam. página) dir. lógica: nº página + desplazamiento Tabla de páginas (TP): Relaciona cada página con el marco que la contiene MMU usa TP para traducir direcciones lógicas a físicas. Típicamente usa 2 TPs: TP usuario: p.ej. dir. lógicas que empiezan por 0 TP sistema: p.ej. dir. lógicas que empiezan por 1 Sólo se permite usar estas direcciones en modo sistema Si mapa de E/S y memoria común: dir. lógica dir. de E/S Sistemas operativos: una visión aplicada 30 J. Carretero, F. García, P. de Miguel, F. Pérez Esquema de traducción Dirección lógica Página Byte Registro base de la TP Marco de página. Sistemas operativos: una visión aplicada 31 J. Carretero, F. García, P. de Miguel, F. Pérez 16

Fragmentación interna en paginación T. Páginas Pr. 1 Página 0 Marco 2 Página 1 Marco N... Página M Marco 3 T. Páginas Pr. 2 Página 0 Marco 4 Página 1 Marco 0... Memoria Pág. 1 Pr. 2 Pág. P Pr. 2 Pág. 0 Pr. 1 Pág. M Pr. 1 Pág. 0 Pr. 2... Pág. 1 Pr. 1 Marco 0 Marco 1 Marco 2 Marco 3 Marco 4 Marco N Página P Marco 1 mem. asignada > mem. requerida puede desperdiciarse parte de un marco asignado Sistemas operativos: una visión aplicada 32 J. Carretero, F. García, P. de Miguel, F. Pérez Contenido de entrada de TP Número de marco asociado Información de protección: RWX Si operación no permitida Excepción Bit de página válida/inválida Si se accede Excepción Usado en mem. virtual para indicar si página presente Bit de página accedida (Ref) MMU lo activa cuando se accede a esta página Bit de página modificada (Mod) MMU lo activa cuando se escribe en esta página Bit de desactivación de cache: se usa cuando la entrada corresponde con direcciones de E/S Sistemas operativos: una visión aplicada 33 J. Carretero, F. García, P. de Miguel, F. Pérez 17

Tamaño de la página Condicionado por diversos factores contrapuestos: Potencia de 2 y múltiplo del tamaño del bloque de disco Mejor pequeño por: Menor fragmentación Se ajusta mejor al conjunto de trabajo Mejor grande por: Tablas más pequeñas Mejor rendimiento del dispositivo de E/S Compromiso (entre 2K y 16K) Sistemas operativos: una visión aplicada 34 J. Carretero, F. García, P. de Miguel, F. Pérez Gestión del S.O. S.O. mantiene una TP por cada proceso En c. contexto notifica a MMU cuál debe usar S.O. mantiene una única TP para el propio S.O. Proceso en modo sistema accede directamente a su mapa y al del SO S.O. mantiene tabla de marcos: estado de cada marco (libre o ocupado,...) S.O. mantiene tabla de regiones por cada proceso Mucho mayor gasto en tablas que con asignación contigua Es el precio de mucha mayor funcionalidad Sistemas operativos: una visión aplicada 35 J. Carretero, F. García, P. de Miguel, F. Pérez 18

Valoración de la paginación Proporciona las funciones deseables en un gestor de memoria? Espacios independientes para procesos: mediante TP Protección: mediante TP Compartir memoria: entradas corresponden con mismo marco Soporte de regiones: bits de protección bit de validez: no se reserva espacio para huecos Maximizar rendimiento y mapas grandes permite esquemas de memoria virtual Sistemas operativos: una visión aplicada 36 J. Carretero, F. García, P. de Miguel, F. Pérez Implementación de TP TPs se mantiene normalmente en memoria principal 2 problemas: eficiencia y gasto de almacenamiento Eficiencia: Cada acceso lógico requiere dos accesos a memoria principal a la tabla de páginas + al propio dato o instrucción Solución: cache de traducciones TLB Gasto de almacenamiento: Tablas muy grandes Ejemplo: páginas 4K, dir. lógica 32 bits y 4 bytes por entrada Tamaño TP: 2 20 *4 = 4MB/proceso Solución: tablas multinivel tablas invertidas Sistemas operativos: una visión aplicada 37 J. Carretero, F. García, P. de Miguel, F. Pérez 19