Capítulo 3. Gestión de Memoria
|
|
|
- Juana Marín Díaz
- hace 8 años
- Vistas:
Transcripción
1 Capítulo Gestión de Memoria. Gestión básica de memoria. Intercambio (swapping). Memoria virtual.4 Algoritmos de sustitución de páginas.5 Modelado de algoritmos de sustitución de páginas.6 Cuestiones de diseño en sistemas paginados.7 Cuestiones de implementación.8 Segmentación Introducción () Idealmente, los programadores quieren memoria mucha, rápida, no volátil, barata Historia 98 s: MDS (64KB), monousuario, CP/M, overlays 98 s: VAX (4MB), multiusuario (docenas) s: Windows, 64MB (normal 5 MB) Jerarquía de memorias Caché (- MB): poca, rápida, cara RAM: ( GB), velocidad y precio medios Disco: GB, lenta y barata (USB flash GB 6 )
2 Introducción () Trabajos del gestor de memoria Qué memoria está libre/ocupada Asignación/liberación de memoria a procesos Intercambio RAM-disco Clases de gestores de memoria Con intercambio Swapping y paginación Sin intercambio Gestión básica de memoria () Monoprogramación sin intercambio ni paginación Solo un programa en memoria (junto con el SO) Se carga y se queda ahí hasta que acaba (CP/M) BIOS (Basic Input Output System) minis palmtop, empotrados MSDOS 4
3 Gestión básica de memoria () Multiprogramación con particiones fijas 5 Gestión básica de memoria () Multiprogramación con particiones fijas Planificación: queda libre una partición, qué trabajo cargar? El primero en la cola que quepa. Fragmentación interna. El más grande de la cola que quepa. Se perjudica a los pequeños. Soluciones: Disponer de una partición pequeña. No retrasar un trabajo más de k veces. 6
4 Gestión básica de memoria (4) Modelo de multiprogramación - Los procesos son independientes - n: grado de multiprogramación - p: fracción de tiempo que un proceso está esperando una I/O - Utilización de la CPU = p n Grado de multiprogramación 7 Gestión básica de memoria (5) Modelo de multiprogramación PERO!! Los procesos no son independientes llegadas cola salidas servidor df(t) = λe -λt dt ρ = λ / μ df(t) = μe -μt dt 8 4
5 Gestión básica de memoria (6) Modelo de multiprogramación AUN ASÍ!! Aproximación válida. Ejemplo: Mb memoria, el SO ocupa 6Mb cada proceso de usuario 4Mb n = 4; si p=,8 CPU = 6% Si compramos 6Mb => n = 8; si p=,8 CPU = 8% Si compramos otros 6Mb n = ; si p=,8 CPU = 9% 9 Gestión básica de memoria (7) Reubicación y protección Reubicación: dónde reside un programa? estática, dinámica Las direcciones de un programa suelen ser relativas a su dirección de comienzo. PERO... al montar un programa no se sabe dónde se va a ejecutar. Modificación de direcciones durante la carga (estático) Registro de Reubicación (o registro base) (permite reubicación dinámica) Dirección 45 A B Registro de Reubicación R a = 854 R b = 448 R c = 5 + Dirección Real B A 854 C 4 5 C Espacio Virtual Espacio Real 5
6 Gestión básica de memoria (8) Reubicación y protección Protección: acceso indiscriminado a cualquier área de memoria tamaño del programa dirección comienzo partición Registro Límite Registro Base Dirección < + RAM ERROR de direccionamiento! Intercambio (swapping) () Batch: Tiempo Compartido: Se aceptan tantos trabajos como quepan en memoria Suele haber más procesos de usuario de los que caben en memoria y hay que atenderlos a todos! Dos aproximaciones: Intercambio (entre RAM y disco) Memoria virtual (solo una parte del programa en RAM) 6
7 Intercambio (swapping) () PARTICIONES DE TAMAÑO VARIABLE (el nº, tamaño y dirección varía con el tiempo) Fragmentación Externa! COMPACTACIÓN Intercambio (swapping) () Puede crecer dinámicamente la memoria de un proceso? B Para crecimiento En uso Pila de B Datos de B Código de B Para crecimiento A Para crecimiento En uso Pila de A Datos de A Código de A Para crecimiento (a) S. O. (b) S. O. 4 7
8 Intercambio (swapping) (4) Gestión de memoria con mapa de bits A B C D E Tamaño de la Unidad de Asignación? Pequeño Grande Mapa Grande Mapa Pequeño Fragmentación Interna Es caro buscar una zona libre de tamaño K. 5 Intercambio (swapping) (5) Gestión de memoria con listas enlazadas 6 8
9 Intercambio (swapping) (6) Gestión de memoria con listas enlazadas T4.4 Se trata de comparar la memoria necesaria para mantener la pista de los bloques de memoria libre utilizando un mapa de bits o una lista enlazada. La memoria es de 8 Mb y la unidad de asignación es de n bytes. Para El caso de la lista enlazada, suponer que la memoria consiste de una secuencia alternada de segmentos y huecos, cada uno de 64kb. También suponer que cada nodo en la lista necesita una dirección de memoria de bits, una longitud de 6 bits y un campo (siguiente nodo) de 6 bits. Cuántos bytes se necesitan para mantener el mapa de bits y cuántos para mantener la lista enlazada? Qué método es el mejor? 7 Intercambio (swapping) (7) Gestión de memoria con listas enlazadas Lista de Bloques Libres (ordenados por dirección: liberación) 8 9
10 Intercambio (swapping) (8) Gestión de memoria con listas enlazadas Lista de Bloques Libres (ordenados por dirección: asignación) El primero que sirva siempre se comienza en la cabecera se generan muchos huecos pequeños al principio Siguiente que sirva lista circular; la cabecera se desplaza distribución uniforme El que mejor se adapte recorrer toda la lista: lento desperdicia más memoria El que peor se adapte no es buena idea 9 Intercambio (swapping) (9) Gestión de memoria con listas enlazadas Lista de Bloques Libres (ordenados por tamaño: asignación) Orden creciente de tamaños el primero que sirva = el que mejor se adapte sobrecarga: mantener la lista ordenada en: asignación y liberación ( compactar con vecinos?) Algoritmo Quick Fit lista separadas por tamaño (k, 4k, ) asignación rápida; liberación: compactación
11 Intercambio (swapping) () T4.5 Considerar un sistema de intercambio en el que la memoria consiste de los siguientes huecos (en tamaño) en el siguiente orden en memoria: kb, 4kb, kb, 8kb, 7kb, 9kb, kb y 5kb Qué hueco se elegirá para satisfacer la próxima petición de memoria: a) kb b) kb c) 9kb Para los algoritmos: ) El primero que sirva ) El que mejor se adapte ) El que peor se adapte 4) El siguiente que sirva Memoria Virtual () No es necesario tener todo el programa en memoria RAM Se podrían ejecutar programas mayores que la RAM Se podrían tener más procesos en memoria principal Se ocupa de tener la memoria de un proceso partida en trozos, e ir cargando en memoria principal el trozo que es necesario para poder continuar su ejecución. Trozos Iguales PAGINACIÓN Trozos de tamaño variable SEGMENTACIÓN
12 Memoria Virtual () Paginación (Transparencias complementarias - ) Posición y función de la MMU Memoria Virtual () Paginación La memoria virtual se divide en páginas La memoria física en marcos de página tamaño página = tamaño marco Conversión: MOV REG, - Dirección está en página - Página está en marco - Dirección física es 89 MOV REG, 89 - Dirección 89 está en página - Página está en marco 6 - Dirección física es 4576 MOV REG, 78? 4
13 Memoria Virtual (4) Paginación 78 está en la página 8 (768) La página tiene X La MMU genera un TRAP FALTA de PÁGINA:. Elegir víctima. Escribir a disco (si hace falta). Cargar la nueva página. 4. Reiniciar MOV REG, 78 Por ejemplo:. Víctima la del marco.. escribir? Indicar que página : X. Cargar página 8 en marco. Indicar que página 8 en marco. Reiniciar MOV REG, 78 Dirección física: 48 5 Memoria Virtual (5) Paginación 6
14 Memoria Virtual (6) Tabla de páginas marco = TP (página) Tamaño de la tabla Velocidad de traducción Pag. C P U dir. virtual Pag. Pag. Pag Pag. n Tabla de Páginas dir. física Marco Marco Marco Marco m Memoria Principal Espacio de Direcciones Virtuales 7 Memoria Virtual (7) Tabla de páginas Estructura de una entrada: bits aprox. Número de marco en el que reside. Presente/ausente: está; no está. Protección: RW; R o RWX Modificada (bit de ensuciado): sucia; limpia. Referenciada: cuando se carga; cuando RW. Para sustitución. Caching disabled: máquinas con E/S mapeada en memoria. 8 4
15 Tamaño de la tabla: Memoria Virtual (8) Tabla de páginas Direcciones virtuales = bits ( = 4Gb) Si tamaño página = 4Kb ( ) Número de páginas = / = = Mg = nº de entradas TP Dirección virtual = 64 bits ( 64 ) Si tamaño de página = 4Kb ( ) Número de páginas = 64 / = 5 = * = G = 4,5 * 5 entradas Cada proceso tiene su propia tabla de páginas (cada uno tiene su propio espacio de direcciones virtuales). El nº de entrada * tamaño (bytes) de cada entrada. 9 Memoria Virtual (9) Tabla de páginas Tamaño de la tabla: tablas de página multinivel (Transparencias complementarias - ) - Evita mantener todas las tablas de página en memoria Stack Gap Datos 4 Mb ( * = * ) Texto 5
16 Memoria Virtual () Tabla de páginas dirección virtual: x44 (46596, ) PT = (4M-8M) PT = Offset = Solo cargadas 4 TP + dir. física nº marco 88 4Mb (4944)) Memoria Virtual () Tabla de páginas T4. Una computadora con direcciones de bits utiliza una tabla de páginas de dos niveles. Las direcciones virtuales se dividen en un campo de 9 bits para la tabla de nivel superior y un campo de bits para la tabla de nivel secundario; el resto es para el desplazamiento dentro de una página. Cuál es el tamaño de la página? Cuántas páginas existen en el espacio virtual de direccionamiento? 6
17 Velocidad de traducción Memoria Virtual () Tabla de páginas Una instrucción:, o más referencias a memoria Cada referencia a memoria: consulta a la TP Soluciones: Todas las entradas en registros Muy caro (hw) Mucho tiempo en cambio contexto Toda la tabla en memoria (de todos los procesos) Registro RBTP (Registro Base de la Tabla de Páginas) Dir. Entrada = [RBTP] + (nº.pag * tamaño de la entrada) Cambio de contexto: recargar RBTP Mantener en memoria sólo la TP del proceso ejecutándose Otras soluciones? Memoria Virtual () Tabla de páginas Localidad referencial (Transparencias complementarias - ) TLB (Translation Lookaside Buffers) (memoria asociativa) dentro de la MMU 4 7
18 Memoria Virtual (4) T4. Una máquina tiene un espacio de direcciones de bits y una página de 8k. la tabla de páginas está en hardware, con una palabra de bits por cada entrada. Al iniciar un proceso, la tabla de páginas se copia al hardware desde la memoria, con una palabra cada ns. Si cada proceso se ejecuta durante ms (incluyendo el tiempo de carga de la tabla de páginas), cuál es la fracción del tiempo de CPU que se dedica a la carga de las tablas de páginas? 5 Algoritmos de sustitución de páginas () Se produce una falta de página y no hay memoria libre: Elegir victima. Llevar victima a disco (si sucia). En TP: victima no presente. Traer nueva página al marco donde estaba la víctima 4. Actualizar TP: nueva está presente y marco y demás info Cómo elegir la víctima? Algoritmos de sustitución de página Problemas similares: Memoria caché Caché de un servidor web 6 8
19 Algoritmos de sustitución de páginas () Objetivo de todos los algoritmos de sustitución: Elegir páginas que generen el menor número de faltas de página. En todos los algoritmos hay una constante: el nº de marcos existentes Algoritmo Óptimo de sustitución de páginas Quitar la página que tardará más tiempo en ser referenciada Imposible implementar 7 Algoritmos de sustitución de páginas () No utilizada recientemente (NRU: Not Recently Used) Basado en los bits R (referenciada) y M (modificada, ensuciado) Inicialmente todas las páginas (en TP) R= M= Cada interrupción de reloj, todas las páginas R= R M Clase : no referenciada, no modificada Clase : no referenciada, modificada Clase : referenciada, no modificada Clase : referenciada, modificada Seleccionar una de la menor clase no vacía. Por qué mejor eliminar de la clase antes que de la clase? 8 9
20 Algoritmos de sustitución de páginas (4) FIFO (First-In First-Out) El SO mantiene una lista de todas las páginas en memoria La primera es la más vieja; la última, la más reciente Eliminar la primera de la lista Añadir la nueva a la cola de la lista cab cola Faltas de Página Desventaja: la página más vieja puede que sea frecuentemente accedida 9 Algoritmos de sustitución de páginas (5) Segunda Oportunidad (Second Chance) Si es la más vieja y no ha sido referenciada (R=), es la víctima Si es la más vieja y ha sido referenciada (R=) entonces: -R= - poner al final de la cola (como si fuese la más nueva) - Mirar la siguiente página en la lista 4
21 Algoritmos de sustitución de páginas (6) Menos recientemente utilizada (LRU: Least Recently Used) Supone que las páginas utilizadas recientemente, se utilizarán de nuevo Víctima: la página que lleva más tiempo sin ser referenciada Hay que mantener una lista de todas las páginas en memoria Cabeza: más recientemente utilizada Cola: menos recientemente utilizada Problemas: actualizar la lista en cada referencia a memoria!! Sobrecarga en buscar una página, eliminarla, moverla a la cabeza Implementaciones Por hardware Por software 4 Algoritmos de sustitución de páginas (7) Menos recientemente utilizada (LRU) Hardware (): Contador por cada entrada en la TP - En HW hay un contador C especial - C se incrementa después de ejecutar cada instrucción - Después de cada referencia a memoria, se almacena C en la entrada correspondiente - Se elige como victima la que tenga el contador más pequeño - Problemas eficiencia: - Almacenar el contador en cada referencia a memoria - Buscar en la TP el contador más pequeño Hardware (): matriz NxN (N = nº marcos que existen) Se referencia el marco k:. Fila k a s. Columna k a `s La fila con menor valor binario es la menos recientemente utilizada 4
22 Algoritmos de sustitución de páginas (8) Menos recientemente utilizada (LRU) 4 Algoritmos de sustitución de páginas (9) Menos recientemente utilizada (LRU) Software (): Mantener una pila con las páginas en memoria - Cuando se referencia una página, a la cima - La página del fondo de la pila es la menos recientemente usada - Problemas eficiencia: actualizar la pila en cada referencia a memoria cima 4 7 Faltas de Página. Con FIFO 5 44
23 Algoritmos de sustitución de páginas () Menos recientemente utilizada (LRU) Software (): aging - Cada página con un contador inicialmente a - Cada interrupción de reloj mirar el contador de cada página - Desplazar un bit a la derecha cada contador - Sumar a la izquierda el bit R - La víctima es la página con menor contador - Problemas: - No se distingue qué página fue la última referenciada en un mismo intervalo de reloj - Los contadores tienen un número finito de bits 45 Algoritmos de sustitución de páginas () Menos recientemente utilizada (LRU) Software (): aging 46
24 Algoritmos de sustitución de páginas () Resumen de los algoritmos de sustitución Optimo: No implementable No utilizada recientemente: fácil implementar, pero los hay mejores FIFO: puede expulsar páginas importantes Segunda oportunidad: mejora sobre FIFO Segunda oportunidad (reloj): más eficiente que el anterior LRU: excelente, pero difícil de implementar Aging: buena aproximación a LRU 47 Algoritmos de sustitución de páginas () T4.9 Un ordenador tiene cuatro marcos de página. El tiempo de carga, el tiempo del último acceso y los bits R y M para cada página son los que aparecen a continuación. Página cargada última referencia R M (a) (b) (c) (d) Qué pagina es reemplazada por NRU? Qué pagina es reemplazada por FIFO? Qué pagina es reemplazada por LRU? Qué pagina es reemplazada por segunda oportunidad? 48 4
25 Cuestiones de diseño en sistemas paginados () Conjunto de Trabajo y Trasiego Los programas exhiben localidad en sus referencias Conjunto de Trabajo: El conjunto de páginas que actualmente está usando un proceso Trasiego (Thrashing) Un proceso causa faltas de página cada pocas instrucciones Solución: mantener en memoria el conjunto de trabajo Problema: Qué páginas forman el conjunto de trabajo? W (k,t): tamaño del conjunto de trabajo. En el instante t, conjunto formado por todas las páginas utilizadas en las últimas k referencias a memoria. 49 Cuestiones de diseño en sistemas paginados () Conjunto de Trabajo y Trasiego k Debe determinarse el valor de k para obtener w(k,t) W(k,t) indica el conjunto de marcos que necesita un proceso en t 5 5
26 Cuestiones de diseño en sistemas paginados () Política de asignación local vs. global Local: asignación de memoria constante Global: asignación de memoria variable 5 Cuestiones de diseño en sistemas paginados (4) Política de asignación local vs. global La global da mejores resultados si cambia el tamaño conjunto de trabajo Cuánta memoria se asigna a cada proceso? Algoritmo PFF (Page Fault Frequency) indica cuándo incrementar/decrementar el número de páginas asignadas, no indica qué página reemplazar frente a una falta de página 5 6
27 Cuestiones de diseño en sistemas paginados (5) Control de carga A pesar de todo, el sistema puede entrar en trasiego Síntoma del trasiego es que PPF indica Algún proceso necesita más memoria, y además nunca indica que un proceso necesite menos Solución : Reducir el número de procesos que compiten por memoria Sacar uno o más a disco y repartir sus páginas 5 Cuestiones de diseño en sistemas paginados (6) Tamaño de la página Deben considerarse varios factores en competencia. No existe ningún óptimo global Si el tamaño de un programa no llena un número exacto de páginas Queda espacio sin utilizar en la última de ellas! Programa: 6. bytes Tamaño de página: 4.96 bytes Necesita 7 páginas Ocupa 6 páginas completas: 6x4.96 = De la última página ocupa: =.44 Desaprovecha: =.67 Fragmentación Interna Para un tamaño de página t, por término medio, se desaprovecha t/ por programa Interesan páginas pequeñas 54 7
28 Cuestiones de diseño en sistemas paginados (7) Tamaño de la página PERO Páginas pequeñas Muchas páginas Tabla de Páginas grande Hw. más caro, máquina más cara Más tiempo de transferencia desde memoria secundaria 55 Cuestiones de diseño en sistemas paginados (8) Tamaño de la página Si solo consideramos la fragmentación interna y la tabla de páginas: s, tamaño del programa (bytes) p, tamaño de la página (bytes) e, tamaño de cada entrada a la TP (bytes) Desperdicio = se/p + p/ Primera derivada con respecto a p e igualando a : -se/p + ½ = ; p = se s = Mb, p = 4kb e = 8 bytes 56 8
29 Cuestiones de diseño en sistemas paginados (9) T4. Un ordenador proporciona a cada proceso 6556 bytes de espacio virtual De direccionamiento, dividido en páginas de 4KB. Un programa particular tiene un segmento de texto de tamaño 768 bytes, un tamaño de datos de 686 bytes y un tamaño de pila de 587 bytes Cabe este programa en el espacio de direccionamiento? Si el tamaño de la página fuese de 5 bytes cabría? Recuerde que una página no debe contener partes de dos segmentos distintos. 57 Capítulo Memoria Virtual. Transparencias complementarias. Paginación.. Tabla de Páginas Multinivel. Implementación de la Tabla de Páginas -58 9
30 Idea general de Memoria Virtual No ejecutarlo es necesario tener la imagen completa del proceso en memoria para poder La imagen completa se almacena en un área de disco El área de disco puede albergar todo el espacio de direccionamiento de la CPU El SO lleva a memoria las partes que necesita para ejecutar el proceso DISCO CPU CP PP RE Rx Move #,$dirbits Bus Dir. dv MMU df 4 Memoria 4 bits (6 MB) bits $ $ $FFFFFF dv Mem.Vir. (hasta 4 GB) Código Datos Pila La CPU saca direcciones virtuales (dv) al ejecutar el proceso La MMU traduce las dv en direcciones físicas (df) $FFFFFFFF -59 Paginación Idea general Divide la memoria principal y el espacio de memoria virtual en partes del mismo tamaño (MARCOS y PÄGINAS respectivamente) Refleja en una Tabla de Páginas la correspondencia entre Páginas y Marcos DISCO Memoria 4 bits (6 MB) CPU Mem.Vir. $ marco bits (hasta 4 GB) CP marco $ Pag. PP Bus MMU marco Pag. RE Dir. Código Rx dv df 4 Move Pag. j #,$dirbits Bus Datos Desc. Desc. Desc. i TP P Nº Marco marco $FFFFFF marco M dv $FFFFFFFF Datos Pila Pag. i Pag. N Desc. j marco M Desc. N -6
31 CPU CP PP RE Rx Paginación Traducción de las direcciones Se elige un tamaño de página que sea potencia de (p.e. K ) Los desplazamiento k bits menor peso de las direcciones virtual y física indican el dentro de la página y el marco DISCO Move #,$dirbits dv Bus Dir. dv P MMU df 4 Nº Marco Memoria 4 bits (6 MB) bits $ $ marco m $FFFFFF -k 4-k p d TP df m d k Desc. d dat o k dv $FFFFFFFF Mem.Vir. (hasta 4 GB) d dat o Pag. p Desc. p marco m Desc. N -6 Paginación Falta de Página (Suponemos P=) que inicialmente la página P no está cargada en memoria. En Desc. p el bit Si bit de presencia P =, hay falta de página, la MMU no puede traducir la dirección La MMU activa excepción en CPU, con la rutina de tratamiento el SO toma control CPU CP PP RE Rx Move #,$dirbits Rearranca instrucción que produjo Falta pag. de Bus Dir. MMU dv df si P= 4 Excep. C-DISCO Ordena Cargar Página P Desc. p P 4 bits $ $FFFFFF Memoria (6 MB) Rut.Tra t Actualiz a TP TP NºMarc o marco m bits $ dv $FFFFFFFF DISCO Mem.Vir. (hasta 4 GB) Código Datos Pila Pag. Pag. Pag. j Pag. p Pag. i Pag. N -6
32 Paginación Aspectos generales Estructura de la TP La TP tiene una entrada por cada página virtual. Una decir,toda entrada la de la TP contiene el descriptor de la página correspondiente, es información que el SO necesita acerca de una página: Bit de presencia Nº Marco ocupado Modificado (bit de ensuciado) Referenciada (Bit de referencia) Protección se pueden incluir otros campos Política de carga de páginas Al comenzar la ejecución de un proceso, ninguna de sus páginas está cargada en memoria: Paginación con prealimentación Paginación por demanda Ubicación del área de intercambio de disco Las páginas de memoria virtual se almacenan en un espacio contiguo del disco (Cilindro/Pista/Sector). El SO elige un tamaño de página acorde con el tamaño del bloque de disco, que facilite su localización. Cuando donde el SO necesita cargar una página de la MV, calcula la dirección física del disco está física). almacenada dicha página (así no hace falta tener almacenada la dirección -6 CP PP RE Rx RBTP Bus Dir. Paginación Multiproceso Cada proceso tiene su propio espacio de memoria virtual y su propia TP CPU 4 bits Memoria $ N TP P P NºM. N TP P P NºM.. TP Pn P NºM.. MMU 4 $FFFFFF $.. bits MV (P) Pag. Código Pag. N Datos Pila DISCO $.. bits MV (P) Pag. Pag. N Código Datos Pila Descriptor de proceso: Id Proceso Estado RBTP Tamaño del proceso $.. MV (Pn) Pag. Código Pag. N Datos Pila N $FF..FF $FF..FF $FF..FF Dir. Comienzo Descriptor de Pag. K = RBTP + K * Tamaño de un descriptor -64
33 Paginación Multiproceso Todos los procesos comparten el mismo espacio de memoria virtual. Una sola TP. CPU 4 bits Memoria DISCO $ CP PP RE Rx RBTP Bus Dir. MMU 4 $FFFFFF bits MV $.. Código Datos Pila P Desc. Desc. P TP Nº Marco Descriptor de proceso: Id Proceso Estado Dir. proceso Memoria del Tamaño del proceso $xx..xx Código Datos Pila P $yy..yy Código Datos Pn Pila Desc. N $FF..FF FIN( ) -65 Implementación de la TP TP Multinivel dv r i R r i j d df m d k k RBTP TP N P Nº Marco P TP N Dir.TP N R j TP N P Nº Marco m bits $ DISCO Mem.Vir. (hasta 4 GB) Pag. r = R R = N R P TP N Nº Marco R $FFFFFFFF Pag. N FIN( ) -66
34 Implementación de la TP. TLB (Translation Lookaside Buffer) La TP reside en memoria y disco. La MMU dispone de una memoria caché interna (TLB) La TLB contiene los R últimos descriptores de página referenciados CPU CP PP RE RBTP Move #,$dirbits dv Bus Dir. MMU df 4 4 bits $ $FFFFFF p d df m d k dv -k 4-k k Memoria Marco m Marco m P TP Nº M. DISCO Mem.Vir. (hasta 4 GB) Código Datos Pila Pag. j Pag. p Pag. i V Nº Pag. p TLB P Nº M. m Desc. j Desc. i Desc. p Desc. k m m R Casos posibles: Pag. p / Pag. i / Pag. j -67 Implementación de la TP Aspectos generales Accesos y actualizaciones en la TLB Se dan los siguientes casos: La página está cargada en memoria y su descriptor cargado en la TLP La MMU traduce la dv en df directamente La TLBpágina está cargada en memoria, pero su descriptor no está cargado en la La MMU lee el descriptor de la TP y lo carga en la TLB A continuación traduce la dv en df La página no está cargada en memoria, ni su descriptor está cargado en la TLB La MMU lee el descriptor de la TP y lo carga en la TLB La MMU produce la excepción de falta de página en la CPU Cambios de contexto en la TLB Si cada proceso tiene su propia TP, cada proceso tiene su Pag., Pag. Al producirse un cambio de contexto: Se invalidan todas las entradas de la TLB En la TLB hay un campo Identificador de Proceso. Tamaño de la TP Las TP s llegan a tener un tamaño excesivo para estar almacenadas en la memoria principal Soluciones: La TP está en el disco. Se carga en memoria principal solo una parte. Tabla de Páginas invertida Tabla de Páginas Multinivel. FIN( ) -68 4
Capítulo 3 Gestión de Memoria
Capítulo Gestión de Memoria. Gestión básica de memoria. Intercambio (swapping). Memoria virtual.4 Algoritmos de sustitución de páginas.5 Modelando algoritmos de sustitución de páginas.6 Cuestiones de diseño
GESTION DE LA MEMORIA
GESTION DE LA MEMORIA SISTEMAS OPERATIVOS Generalidades La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección Tanto el tamaño de la tabla (memoria), como el de los datos
Gestión de la Memoria y Memoria Virtual
Universidad de Concepci ón Facultad de Ingeniería Departamento de Ingenier ía Informática y Ciencias de la Computación Magíster en Ciencias de la Computaci ón Gestión de la Memoria y Memoria Virtual Andrés
ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:
ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la
Tema 5 (III) Jerarquía de Memoria
Grupo ARCOS Tema 5 (III) Jerarquía de Memoria Estructura de Computadores Grado en Ingeniería Informática Contenidos 1 Tipos de memoria 2 Jerarquía de memoria 3 Memoria principal 4 Memoria caché 5 Memoria
Sistemas Operativos. Trabajo Práctico N ō 6
Departamento de Ciencias e Ingeniería de la Computación Ingeniería en Computación Ingeniería en Sistemas de Información Sistemas Operativos Segundo Cuatrimestre de 2017 Trabajo Práctico N ō 6 1. Problemas
Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar
Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Necesidades de memoria en S.O. La multiprogramación requiere la convivencia de
Tema 6. Administración de memoria
Tema 6. Administración de memoria 1. Gestión de memoria real 2. Gestión de memoria virtual 1 1. Gestión de memoria real Ordenadores cada vez con más memoria Programas que cada vez ocupan más Gestor de
Administración de Memoria
Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 30 de abril de 2015 MMU Unidad de Gestión de Memoria (MMU): Componente del sistema operativo
Memoria Virtual. Departamento de Arquitectura de Computadores
Memoria Virtual Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas
Tema 4. Organización y Gestión de Memoria
Tema 4. Organización y Gestión de Memoria Conceptos generales Esquemas de memoria basados en la asignación contigua Recubrimientos (overlay) Intercambio (swapping) Organización de la Memoria Virtual Gestión
Memoria Virtual. Memoria Virtual
Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de
Fundamentos de los Sistemas Operativos
Fundamentos de los Sistemas Operativos Objetivos de la administración: Administración n de memoria Mantenerse informado de qué parte de la memoria están en uso y cuáles no Asignar memoria a los proceso
Memoria Virtual. Ing. Jorge Castro-Godínez
Memoria Virtual Lección 7 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge Castro-Godínez
Administración de la memoria
Administración de la memoria 1 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos - proveer mecanismos que eviten la interferencia
Administración de Memoria.
Administración de Memoria. Sistemas Operativos Tema. Sistemas Operativos (IS) Tema Administración de memoria. Jerarquía de memoria: Registros CPU del procesador Caché (memoria rápida) Memoria principal
Sistemas operativos. Tema 8: Memoria virtual
Sistemas operativos Tema 8: Memoria virtual Memoria virtual Conjunto de técnicas t que permiten ejecutar procesos que no se encuentran completamente cargados en memoria. Principio de cercanías: as: las
Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria
Gestión de Memoria Gestión de Memoria Dividir la memoria para alojar múltiples procesos La memoria necesita ser asignada eficientemente para alojar tantos procesos como sea posible Capítulo 7 Requisitos
Administración de memoria
: Ejercicios DC - FCEyN - UBA Sistemas Operativos, 2c-2014 : Ejercicios En un SO tenemos varios procesos compartiendo un recurso, la memoria, necesitamos algo que la administre... : Ejercicios En un SO
Tema 3. Gestión de la memoria
Tema 3. Gestión de la memoria Competencias: Comprender las funciones que debe desempeñar todo mecanismo que gestiona la memoria, identificando las ventajas e inconvenientes de los distintos esquemas de
Memoria virtual Ubicación de bloque en paginación
Ubicación de bloque en paginación Dónde puede ubicarse un bloque en memoria principal? Los sistemas operativos permiten que los bloques se coloquen en cualquier parte de la memoria principal (totalmente
Procesos y Memoria. Administración de Memoria 26/10/2010 SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS Administración de Memoria Organización Lógica de la Memoria La memoria principal es un arreglo de palabras o bytes, cada uno de los cuales tiene una dirección (espacio de direcciones).
Sistemas Operativos II Convocatoria ordinaria 24 de Enero de 2001 Escuela Universitaria de Informática (Grupo K)
Sistemas Operativos II Convocatoria ordinaria 24 de Enero de 2001 Escuela Universitaria de Informática (Grupo K) APELLIDOS DNI NOMBRE FIRMA?? No desgrape las hojas.?? Conteste exclusivamente en los espacios
Administración de memoria
DC - FCEyN - UBA Sistemas Operativos, 2c-2013 Responsabilidades de la unidad de gestión de memoria (MMU) Tipos de direcciones Problemas que debe manejar Capacidad de direccionamiento vs. capacidad de memoria
Diagrama temporal de un programa simple. Multi-Programación con dos programas
Diagrama temporal de un programa simple Multi-Programación con dos programas Multi-Programación con tres programas Gestión de la Memoria Mono-programación La memoria se divide en dos partes: Una para el
Estructura de Computadores
Estructura de Computadores Tema 5 Jerarquía de memoria Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Tipos de memoria
4.3 Memoria virtual. move r1, [1000] Paginación
4.3 Memoria virtual! Tamaño de proceso, espacio para programa, pila, datos puede exceder la cantidad de memoria física disponible para él.! El SO mantiene en memoria principal las partes del programa que
Tema 5: Gestión de la Memoria Principal
Tema 5: Gestión de la Memoria Principal SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla -
Sistema de memoria. Introducción
Sistema de memoria Introducción Memorias de acceso aleatorio: Apropiadas para la memorización a largo plazo de programas. Grandes y lentas. Organización: n: líneas de direcciones. m: tamaño de palabra.
Administración de Memoria
Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 22 de septiembre de 2016 Administración de memoria Administrador de Memoria (Memory
SISTEMAS OPERATIVOS: Lección 10: Gestión de Memoria Virtual
SISTEMAS OPERATIVOS: Lección 10: Gestión de Memoria Virtual Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato Introducción
Administración de memoria
DC - FCEyN - UBA Sistemas Operativos, 1c-2012 Saber qué partes de la memoria están en uso y cuáles no Saber qué partes de la memoria están en uso y cuáles no Asignar memoria a los procesos cuando la necesitan
4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb.
. Explique la diferencia entre direccionamiento lógico y físico. 2. Explique la diferencia entre fragmentación interna y externa. 3. Cuánta memoria puede direccionar con una palabra de 6 bits.? Respuesta:
Memoria virtual Ejercicios resueltos
Memoria virtual Ejercicios resueltos Ejercicio 1. Sea un computador de 20 bits con memoria virtual paginada con páginas de 1 KB y un total de memoria física de 256 KB. Se pide, de forma razonada y breve:
Ingeniería en computación
Ingeniería en computación Sistemas Operativos Unidad de Competencia III Ing. Diego Armando Ramírez Avelino 1 Contenido Esquemas de administración de memoria básica Métodos para llevar a cabo intercambio
Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos
Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria
Sistemas Operativos. Curso 2017 Memoria Virtual
Sistemas Operativos Curso 2017 Memoria Virtual Agenda Introducción. Implementación. Estudio de performance. Algoritmos de reemplazo. Estrategia de asignación de marcos (frames). Hiperpaginación (Trashing).
Tema 20 Gestión de memoria
Tema 20 Gestión de memoria Índice INTRODUCCIÓN 1 REQUISITOS DE LA GESTIÓN DE MEMORIA 2 ESTRUCTURA DE LA MEMORIA EN SO SIN MEMORIA VIRTUAL 2 Recubrimiento 3 MEMORIA VIRTUAL 4 Funcionamiento 4 Soporte del
Arquitectura de Computadores II Clase #7
Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.
Arquitectura de Computadores II Clase #7
Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual Recordemos: Jerarquía de Memoria Nivel Superior Registros
Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion.
Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion. Fecha de entrega: 10 de Mayo de 2013. Campus: Villahermosa. Carrera:
Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U GESTION DE MEMORIA
GESTION DE MEMORIA Preparado por: Angel Chata Tintaya ([email protected]) Resumen La memoria es el lugar donde residen procesos y datos de los programas del usuario y del sistema operativo; se debe
Arquitectura de Computadores II Clase #7
Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:
CAPITULO III. ADMINISTRACIÓN DE MEMORIA
CAPITULO III. ADMINISTRACIÓN DE MEMORIA La memoria principal o memoria RAM (Random Access memory), es uno de los recursos más importantes que tiene el computador para la ejecución de sus procesos. Todo
Sistemas Operativos Administración de la Memoria
UNIVERSIDAD INTERNACIONAL SAN ISIDRO LABARDOR Escuela de Ingeniería en Sistemas Sistemas Operativos Administración de la Memoria Cuatrimestre II-2006 Recopilado por Ing. Fernely Artavia Fallas INTRODUCCIÓN
Organización lógica Identificación de bloque
Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que
Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14
Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14 1) Diseñar una memoria de 640 Kbytes (512Kbytes de RAM y 128 Kbytes de ROM) accesible a nivel de byte, empleando chips de
(* DEBEREMOS DIFERENCIAR ENTRE SISTEMA MONOPROGRAMADO Y MULTIPROGRAMADO*)
TEMA 3 SIISTEMAS OPERATIIVOS.. GESTIIÓN DE MEMORIIA.. 1.. INTRODUCCII IÓN 2.. MODELOS BÁSICOS DE ASIGNACIÓN DE MEMORIA 2..1 MONOPROGRAMACIÓN 2..2 MULTIPROGRAMACIÓN FIJAS 2..2.1 MULTIPROGRAMACIÓN CON PARTICIONES
ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda
Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos
Administración de Memoria
Administración de Memoria Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Administración de Memoria Base Intercambio (Swapping) Alocación Contigua Paginado Estructura
Concepto de memoria virtual
Concepto de memoria virtual Problema: necesidad de programas mayores que la memoria física. 1ª solución: OVERLAYS (solapamientos, superposiciones) El programador divide los programas en partes que caben
Ejercicios sobre gestión de memoria
Boletín 6 Ejercicios sobre gestión de memoria July 15, 2016 1. Sea un sistema que emplea un mecanismo de paginación para gestionar la memoria. Las páginas son de 2 KB y una entrada de la tabla de páginas
TEMA 5: GESTIÓN DE MEMORIA
TEMA 5: GESTIÓN DE MEMORIA Gestor o administrador de memoria: Parte del sistema operativo que lleva registro de la memoria libre y ocupada, asigna la memoria a los procesos cuando la necesitan y la libera
Sistemas Operativos. Curso 2016 Administración de memoria II
Sistemas Operativos Curso 2016 Administración de memoria II Agenda Memoria Virtual. Paginación. Segmentación. Segmentación con paginación. Sistemas Operativos Curso 2016 Administración de memoria II 2/35
Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles
Tema 6: Memoria virtual Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles Contenidos Introducción. Localización de páginas. Fallos de página. TLB. Gestión de fallos
Memoria virtual. E. Campo M. Knoblauch Ó. López J. Clemente. Departamento de Automática Universidad de Alcalá
Memoria virtual E. Campo M. Knoblauch Ó. López J. Clemente Departamento de Automática Universidad de Alcalá Sistemas Operativos Avanzados Memoria virtual 1 / 41 Índice Introducción a la memoria virtual
Introducción. Universidad de Sonora Arquitectura de Computadoras 2
Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.
Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 3. Administración de la Memoria.
Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 3. Administración de la Memoria. Fecha de entrega: Miércoles 15 de Mayo de 2013 Materia: Sistemas Operativos I Carrera:
Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones
Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones Rafael Vázquez Pérez Unidad 2 Administración de la Memoria Asignación de memoria paginada
Cuestiones y Problemas de Gestión de Memoria
y Problemas de Gestión de Memoria Primera Parte .- Introducción a la gestión de memoria 1. Cite tres ventajas ofrecidas por las bibliotecas de enlace dinámico cuando se las compara con las bibliotecas
Sistemas Operativos [Administración de la memoria]
Sistemas Operativos [Administración de la memoria] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 13-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Sistemas Operativos 1 / 56 La
Sistemas Operativos Gestión de memoria
Esquema Sistemas Operativos Gestión de memoria Introducción Jerarquía de memoria Direccionamiento Asignación de direcciones (relativas-->absolutas o reales) Gestión de memoria real Memoria dedicada Monitor
Memoria Virtual. Módulo 9. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur. Módulo 9: Memoria Virtual
Memoria Virtual Módulo 9 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Módulo 9: Memoria Virtual Base Demanda de Páginas Reemplazo de Páginas Alocación de Cuadros
Administración de memoria.
Administración de memoria. Alumno: Rubén Cruz Aldecua. Profesor: Carlos Francisco Paz Cuevas. Carrera: Ing. Telemática. Sin abstracción de memoria. La abstracción más simple de memoria es ninguna abstracción.
Trabajo Práctico Número 6
Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual
Administración de la Memoria
26/10/2010 Ing. Angel Plaza V. Año 2010 - Ciclo 2 2 1 Componentes de un SO Admin de Procesos Admin de Memoria Admin de Archivos Admin de I/O 3 Administrador de Memoria Monitorear las partes de la memoria
Práctica 5 - Memoria Cache
Práctica 5 - Memoria Cache Organización del Computador 1 Verano 2008 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de
Tema 6. Gestión de memoria
Tema 6. Índice Introducción Objetivos del sistema de gestión de memoria La unidad de gestión de memoria (MMU) Compartición de memoria Protección de memoria Intercambio Mapa de memoria de un proceso Tema
SISTEMAS. UNIDAD VI Parte A ADMINISTRACION DE MEMORIA ING. AGUILERA SERGIO OMAR
SISTEMAS OPERATIVOS UNIDAD VI Parte A ADMINISTRACION DE MEMORIA ING. AGUILERA SERGIO OMAR ESTRUCTURA DE MEMORIA CENTRAL Bus de Direcciones CPU v MMU n Bus de Datos Bus de Control 1 (r,w) m 2 n -1 palabras
Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos
Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset
