Gestin de memoria Rina Arauz Definicin n n
- Slides: 57
Gestión de memoria Rina Arauz
Definición n n 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 incluidos en ella dependen de cada arquitectura concreta. Para que los programas puedan ser ejecutados es necesario que estén cargados en memoria principal. La información que es necesario almacenar de modo permanente se guarda en dispositivos de almacenamiento secundarios también conocidos como memoria secundaria. Gestión de memoria 2
Localidad n Los procesos tienden a concentrar sus referencias en un intervalo de tiempo en un subconjunto de su espacio de direcciones. n La localidad puede ser: l Localidad Secuencial l Conjunto de instrucciones continuas, sin ninguna instrucción de salto. (código secuencial) l l Espacio de direcciones del proceso Localidad Temporal Conjunto de instrucciones con lazos iteractivos (blucles o subrutinas) Localidad Espacial Conjunto de instrucciones que accesan datos presentes en otra Localidad de memoria. . (tablas o matrices) Gestión de memoria 3
Memoria n n n Las memorias están constituidas por miles de celdas. Cada "celda" de la memoria puede almacenar un bit, Una palabra puede estar constituida por 6, 8, 12, 16, 32, 64 ó incluso más bits. Dirección es la ubicación de una palabra. El conjunto de celdas en las que se almacena una palabra se llama "Posición de memoria". n Hay que distinguir entre dirección de una posición de memoria y el dato que puede ser almacenado en esa dirección. n Palabra: número de bits que suele contener cada posición de memoria (8, 16, 32 ó 64 bits). n Dirección: posición de memoria en la que se almacena una información (conjunto de bits que identifican a cada palabra de la memoria). n Si tenemos un sistema con una palabra de 4 bits y una dirección de 10 bits, tendremos un sistema con una capacidad de: 210 (palabras)* 4 (bits por palabra) = 4 Kbits Gestión de memoria 4
Memoria Dirección 000 001 1 0 0 1 1 1 0 0 011 1 0 1 1 1 0 0 1 100 101 110 111 Palabra 1 1 0 0 1 1 Si tenemos un sistema con una palabra de 4 bits y una dirección de 3 bits, tendremos un sistema con una capacidad de: 23 (palabras)* 4 (bits por palabra) = 32 bits 1 1 0 1 1 Posición de Memoria Celda Memoria Gestión de memoria 5
Memoria n La memoria esta caracterizada por tres propiedades fundamentales; * Capacidad * Tiempo de acceso * Coste por bit n CAPACIDAD: cantidad de información que puede almacenar. n TIEMPO DE ACCESO: tiempo que se necesita para localizar y leer una información almacenada, es el tiempo transcurrido desde que se suministra la dirección hasta que se accede a la posición de memoria que se desea. n COSTE POR BIT: El coste por bit será el precio que cuesta almacenar un bit de información. O lo que es lo mismo, será el precio de una memoria dividido por la capacidad total de almacenamiento. Cuando más grande se elija la capacidad de la memoria, mayor será el tiempo de acceso. Gestión de memoria 6
Jerarquía de memoria n Para ello se aprovechan los avances tecnológicos en el diseño de memorias y la localidad de los programas Registros internos del procesador Mayor rapidez menor tamaño y mayor precio Caché on-chip L 1 Caché externa L 2 Menor rapidez mayor tamaño y menor precio n A medida que el tiem de acceso aumenta, e coste por bit disminu y la capacidad de almacenamiento aumenta. Memoria principal Discos magnéticos CD-ROM - Cintas Gestión de memoria 7
Tiempo de acceso Capacidad Gestión de memoria 8
Cintas Magnéticas n Aunque las cintas magnéticas hayan desaparecido del consumo habitual, se siguen utilizando en ciertos ámbitos. Por ejemplo, en centros de almacenamiento siguen siendo usadas, pues existe una relación muy buena entre precio y capacidad de almacenamiento. n En IBM se ha planteado la evolución de esta tecnología, han reducido el espacio físico a la vez que han mejorado de una forma increíble la densidad de almacenamiento. Consiguiendo un nuevo récord mundial, científicos del IBM han capturado 330 TB de datos sin comprimir en un cartucho que puede caber en la palma de la mano. n Imagina 330 millones de libros comprimidos en una cinta de cassette. n Conseguir capturar 201 Gb por pulgada cuadrada en un prototipo de cinta magnética. Gestión de memoria 9
Fragmentación n Fragmentación = memoria desaprovechada l Puede ser de dos tipos, interna y externa Fragmentación interna l Se debe a la diferencia de tamaño entre la partición de memoria y el objeto residente dentro de ella l Se produce siempre que se trabaje con bloques de memoria de tamaño fijo l Si el tamaño del objeto no coincide con el de la partición, queda una zona que no se puede aprovechar Fragmentación externa l Se debe al desaprovechamiento de memoria entre particiones Gestión de memoria 10
La dirección generada por la CPU mientras se está ejecutando un programa se denomina Dirección Lógica. La dirección lógica es virtual ya que no existe físicamente. El usuario puede ver la dirección lógica de un programa y nunca puede ver la dirección física. El programa cargador lee un ejecutable y: –Carga en memoria todo su código y sus datos Gestión de memoria 11
Dirección virtual/Físicas Gestión de memoria 12
Gestión de memoria 13
Reubicación n En un sistema con multiprogramación es necesario realizar un proceso de traducción (reubicación) de las direcciones de memoria a las que hacen referencia las instrucciones de un programa(direcciones lógicas) para que se correspondan con las direcciones de memoria principal asignadas al mismo (direcciones físicas). n Reubicación: Consiste en traducir las direcciones lógicas de los programas ejecutables a direcciones físicas. n Dirección Lógica es generada por la CPU durante la ejecución de un programa mientras que la dirección física se refiere a una ubicación en la unidad de memoria. Gestión de memoria 14
Reubicación n La reubicación hace referencia al hecho de ubicar los programas en memoria para su ejecución. n Reubicación estática l Se realiza antes o durante la carga del programa en memoria l Los programas no pueden ser movidos una vez iniciados Reubicación dinámica l Los programas pueden moverse en tiempo de ejecución l El paso de dirección virtual a dirección real, se realiza en tiempo de ejecución l Necesita hardware adicional (MMU) n Gestión de memoria 15
n n MMU: Es un dispositivo Hardware que realiza la traducción de direcciones lógicas (o virtuales) a direcciones físicas (o reales) y la protección de la memoria. Gestión de memoria 16
n Esquemas de gestión de memoria l Máquina desnuda l Monitor monolítico o residente l Asignación de memoria particionada contigua l Asignación de memoria particionada no contigua l Memoria cache Gestión de memoria 17
Máquina desnuda n n n Es la manera más sencilla de gestionar la memoria: no existe ningún gestor El usuario controla toda la memoria El sistema no porporciona ningún servicio Memoria Usuario Gestión de memoria 18
Monitor monolítico o residente n MEMORIA Protección: MONITOR Dirección límite CPU Dirección>Límite Sí No Error de direccionamiento Gestión de memoria 19
Memoria particionada contigua Memoria particionada no contigua Gestión de memoria 20
Memoria particionada contigua n Se asigna una partición de memoria a cada proceso l MFT (Sistema multiprogramado con tamaño y numero de particiones fijo). l MVT (Sistema multiprogramado con tamaño y numero de particiones variable). Gestión de memoria 21
MFT n La memoria se divide en particiones de distinto tamaño que se van asignando a los procesos. n Su mayor problema es la fragmentación interna. n En el ejemplo el P 3 tiene asignados 600 K y solo usa 100 K y el P 4 no puede ubicarse en memoria pese a ocupar 500 k. Gestión de memoria 22
MVT n n Se asigna a cada proceso un bloque contiguo de memoria. Su mayor problema es la fragmentación externa, que puede solucionarse con compactación. Se pueden utilizar varios algoritmos de asignación: Primer ajuste, Mejor ajuste, Peor ajuste. Gestión de memoria 23
Ejercicio: n Supongamos que tenemos en un instante determinado tres zonas libres de memoria No contiguas, con tamaños de 3 Kb, 6 Kb y 8 Kb. Si en este instante llega un trabajo cuyo tamaño es de 13 Kb y se utiliza MFT. Podrá ser cargado? ¿Cómo se le denomina a este fenómeno? Gestión de memoria 24
Protección: n Un proceso no puede acceder a la zona de memoria asignada a otros procesos. n Técnicas de protección: l Registros Límites (Lim inferior y lim superior). l Registros Base y Limite. Gestión de memoria 25
Registros límite n No soporta reubicación dinámica MEMORIA Límite superior Límite inferior Programa X CPU <= >= Sí No Error de direccionamiento Gestión de memoria 26
Registros base-límite n Soporta reubicación dinámica MEMORIA Límite Sí < + Programa X Límite CPU Base No Error de direccionamiento Gestión de memoria 27
Tabla de descripción de particiones 0 K Sistema operativo Número Base Tamaño de la partición 100 K 400 K 0 K 100 K ASIGNADA 1 100 K 300 K LIBRE 2 400 K 100 K ASIGNADA 3 500 K 250 K ASIGNADA 4 700 K 150 K ASIGNADA 5 900 K 100 K LIBRE 0 Pi 500 K Pj 750 K Pk Estado de la partición 900 K 1000 K Gestión de memoria 28
Memoria particionada no contigua n Esquemas: l Segmentación l Paginación l Segmentación paginada l Paginación segmentada Gestión de memoria 29
Segmentación Permite que los segmentos de un proceso (código, datos, pila, etc. ) puedan estar situados en áreas de memoria no contiguas. Las direcciones en estos sistemas tienen dos componentes: número de segmento y desplazamiento. La traducción de direcciones se lleva a cabo con la ayuda de la tabla de segmentos (TDS). Los segmentos pueden tener tamaños diferentes. La Protección se basa en registros base y límite. Gestión de memoria 30
Burroughs B 5500, 1966 arquitectura de x 86 ( Intel 8086, 8088 ) (1978 -1979) El ordenador de Burroughs Corporation B 5000 era uno de los primeros para poner en práctica la segmentación. B 6500, Intel i. APX 432 (1975), Principal, Stratus, Apolo, Sistema/38 de la IBM e IBM YA QUE/400 los ordenadores usan la segmentación de memoria. arquitectura de x 86 ( Intel 8086, Intel 80286). Intel 80286 (1982) Gestión de memoria 31
Ejercicio: 1) Tenemos una CPU que trabaja con segmentación. Las direcciones lógicas son de 16 bits. Los tres primeros bits se utilizan como selector de segmento. • ¿Cuánta memoria puede direccionar un proceso en este sistema? • ¿Cuántos segmentos puede llegar a tener un proceso? • ¿Cuál es el tamaño máximo de un segmento? ¿Cómo variarían las respuestas si se dedicaran 2 bits para el selector de segmento? 2) Complete la tabla de direcciones físicas, con ayuda de la TDS. Segmento Base Lim 0 1 2 3 219 2300 90 1327 600 14 100 580 Dirección Virtual 0, 430 1, 10 2, 500 3, 347 Dirección Real Gestión de memoria 32
PAGINACION Es un esquema de gestión de memoria no contigua. El espacio de direcciones virtuales de un proceso está dividido en bloques de tamaño fijo llamados páginas. Se produce fragmentación interna. La memoria física se divide en marcos de página. La dirección virtual consta de un número de página virtual y un desplazamiento. Gestión de memoria 33
Gestión de memoria 34
Paginación Gestión de memoria 35
n n La traducción de direcciones se lleva a cabo con la ayuda de la tabla de páginas (TDP) Si se piden “s” posiciones de memoria l nº páginas asignadas=[s/p] l p: tamaño de la página Si el cociente anterior no es entero se produce la llamada fragmentación de página Con página grande aumentamos la fragmentación interna pero disminuimos el tamaño de la TDP Gestión de memoria 36
Ejercicio: n n n Si el número de páginas es grande, la zona de memoria ocupada por la TDP puede ser excesiva Ejemplo: l Tamaño de cada entrada de la TDP: 4 bytes l Espacio de direccionamiento: 32 bits l Páginas de 4 Kbytes l Tamaño de la TDP: 4 Mbytes Solución l Tabla de páginas paginada l Se emplea un directorio de páginas Gestión de memoria 37
Ejercicios: ¿Cuánta memoria puede direccionar con una palabra de 16 bits. ? n Respuesta: n Se pueden direccional 216 =64 K (posiciones de memoria). ¿Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: n Se puede direccionar 220= 1 Mb. Gestión de memoria 38
Ejercicio: n Complete la siguiente tabla: 2) Si un proceso ocupa en memoria 285667 bytes y se ejecuta en un sistema paginado, con un tamaño de pagina de 256 bytes, la fragmentación interna del mismo es ? Gestión de memoria 39
Ejercicio: Gestión de memoria 40
Ejercicio: Gestión de memoria 41
Ejercicio: Gestión de memoria 42
Ejercicio: Gestión de memoria 43
Ejercicio: Gestión de memoria 44
Ejercicio: En un sistema paginado cuyo tamaño de página es de 256 bytes y la dirección tiene una longitud de 12 bits. Determine la dirección virtual en hexadecimal que se localiza en la página 3 con desplazamiento 15 dentro de esa página. Respuesta: Cada Pagina es 256 bytes = 28 Total de paginas = 24 = 16 paginas Pagina 3 = 0011 Desplazamiento 15 = 1111 4 bits para la pagina 0011 8 bits para el desplazamiento 0000 1111 = 3 0 F es la dirección virtual En un sistema paginado cuya memoria es 5(decimal)? Respuesta: de 64 kb con 64 páginas. ¿Qué direcciones se localizan en la página Total de paginas = 26 = 64 paginas Memoria = 64 kb = 26 x 210 = 216 64 paginas - 6 bits para la pagina 10 bits para el desplazamiento Desde la 0101 (pag 5) 00000(10 bits de desplazamiento todos a cero) 16 bits ------ 0001 01 00 0000 -> 1400 h hasta la 0101 (pag 5) 11111(10 bits de desplazamiento todos a uno) 16 bits ------ 0001 01 11 1111 -> 17 FF h De 1400 h hasta 17 FFh Gestión de memoria 45
Ejercicio: En un sistema paginado cuya memoria es de 32 kb con páginas de 512 bytes. ¿Qué direcciones se localizan en la pagina 24 (decimal)? Respuesta: Tamaño pag = 29 = 512 bytes Memoria = 32 kb = 2 5 x 210 = 215 6 bits para la pagina 9 bits para el desplazamiento Desde la 11000 (pag 24 h) 00000(9 bits de desplazamiento todos a cero) pagina desplazamiento 011 000 0 0000 -> 6000 h hasta la 11000 (pag 24 h) 11111(9 bits de desplazamiento todos a uno) pagina desplazamiento 011 000 1 1111 De 6000 h hasta 61 FFh 1111 -> 61 FFh Gestión de memoria 46
Ejercicio: Gestión de memoria 47
Ejercicio: Sea un sistema basado en memoria paginada en el que existen 1024 marcos de 8 Kbytes cada uno. En el se ejecuta un proceso de 30000 bytes que ocupa las paginas 0, 1, 2, y 3 alojadas en los marcos 20, 25, 40, y 45 respectivamente. A que dirección física corresponde la dirección virtual 17203? En la situación expuesta en la pregunta anterior, cual seria la fragmentación de memoria del proceso? ´ 8 kb = 8 x 1024=8192 17203/8192= 2. 09 (pagina) 2 x 8192= 16384 17203 -16384= 819 Pagina 2 desplazamiento 819 40 x 8192= 327680 + 819 = 328499 (dir física) para Comprobar: 328499/8192= 40. 09 Gestión de memoria 48
Ejercicio: Suponga que un proceso emite una dirección lógica igual a 2453 y que se utiliza la técnica de paginación, con páginas de 1024 palabras. a) Indique el par de valores (número de página, desplazamiento) que corresponde a dicha dirección. 2453/1024= 2. 39 (3 páginas) (pag 0, pag 1, pag 2)--- > (pagina 2) 2 x 1024 = 2048 2453 -2048= 405 (desplazamiento) Pagina 2 y desplazamiento 405 b) ¿Es posible que dicha dirección lógica se traduzca en la dirección física 9322? . 9322/1024= 9. 1 (10 paginas) 9 x 1024 = 9216 9322 -9216 = 106 diferente a 405 por ello NO puede ser ésta la dirección física. Gestión de memoria 49
Ejercicios: 1) Supongamos un sistema que utiliza memoria paginada. Las direcciones lógicas son de 24 bits. Si se dedican 10 bits para seleccionar la página y los restantes para el desplazamiento dentro de la página: • ¿Cuántas páginas puede llegar a tener un proceso? • ¿Qué tamaño de página utiliza el sistema? • ¿Cuánta memoria puede direccionar un proceso? 2) Pongamos otro caso similar. Esta vez tenemos direcciones lógicas de 24 bits y sabemos que el tamaño de página son 4 KB. Entonces: • ¿Cuántas páginas puede llegar a tener un proceso? • ¿Cuántos bits hay que dedicar a página y a desplazamiento? • ¿Cuánta memoria puede direccionar un proceso? Otra cuestión interesante es estudiar la influencia entre el tamaño de página y el espacio ocupado por la tabla de páginas. ¿Cuál de los dos escenarios genera tablas de páginas más grandes? Gestión de memoria 50
Ejercicio: 3) Supongamos entonces unas direcciones lógicas de 24 bits, direcciones físicas de 32 bits y un tamaño de página de 4 KB. En este caso: • ¿Cuánta memoria puede direccionar un proceso? • ¿Cuánto espacio físico puede direccionarse? • ¿Cuántos marcos de página pueden llegar a existir en la memoria? • ¿Cuántos bits dedicados a página y desplazamiento habría en una dirección física? • ¿Cuántas entradas puede llegar a tener la tabla de páginas de un proceso? • ¿Cuántos bits son necesarios para almacenar una entrada en la tabla de páginas? Gestión de memoria 51
Ejercicio: 4) En los sistemas comerciales se han manejado tamaños de páginas entre 256 bytes y 16 megabytes. Un tamaño típico y clásico son los 4 KB de los procesadores x 86 de Intel, que vamos a tomar como caso para este ejercicio. En los x 86 el tamaño de una entrada en la tabla de páginas es de 32 bits (4 bytes). Bajo estas condiciones, supón que tenemos un proceso que tiene reservados 10 megabytes de memoria y calcula estos datos: • ¿Cuántas páginas necesita este proceso? • ¿Cuánto ocupa la tabla de páginas de este proceso? Gestión de memoria 52
Paginación de la TDP Dirección virtual D Dir P Memoria D M Directorio de páginas RPBTP Dir RLTP Tabla 1 Tabla 2 Tabla 3 Tabla 4 Tabla 5 Tabla 6 Tabla 7 Tabla 8 D Tabla de páginas P Marco 1 Marco 2 Marco 3 Marco 4 Marco 5 Marco 6 Marco 7 Marco 8 Gestión de memoria 53
n n n Es posible combinar los esquemas de paginación y segmentación De este modo podemos obtener las ventajas de ambos a costa de complicar el HW Combinaciones: l Segmentación paginada l Paginación segmentada (no se emplea en la práctica) En la segmentación paginada, cada segmento se divide en páginas En la paginación segmentada, cada página se divide en segmentos Gestión de memoria 54
Memoria caché n Su empleo se justifica por la localidad de los programas. La idea de emplear memorias caché consiste en mantener en ellas los datos o instrucciones que el procesador necesita en cada momento. Si los datos o instrucciones se encuentran en la caché el acceso es muy rápido, si no es así, los datos se traen desde memoria principal en bloques. Memoria cache - L 1 (Se encuentra dentro del núcleo) - L 2 (En el procesador) - L 3 (En placa base) • 1 er. Nivel (del orden de 20 Kb). • 2 do. Nivel (del orden de 512 Kb a 2 Mb). n • 3 er. Nivel (del orden de 8 Mb). n n n Gestión de memoria 55
Tarea: Gestión de memoria 56
10. Gestión de memoria 57
- Aitor arauz chapman
- Objetivos de motricidad gruesa para preescolar
- Arauz lleva tilde
- Claudia arauz
- Definicin de derecho
- Significado de monemas
- Aprendida
- Definicin de estado
- Sexo definicin
- Definicin
- Definicin de cultura
- Definicin de estado
- Definición del amor de francisco de quevedo
- Definicin
- Unnime
- Definicin
- Rina fitriyanti
- Rina hadziev
- Geni rina sunaryo
- Miwah ingkang tata krama tembung miwah tegese
- Rina foygel barber
- Jarak rumah rina ke rumah dewi adalah 27 km
- Contoh membuat buku harian
- Dr rina gustia spkk
- Rina check srl
- Rina de vries
- Tipos de rina
- Rina brandt
- Dr rina gustia spkk
- When you phoned i was working in the garden
- Rina fitriyanti
- Rina das nih
- Eessi/rina
- Dr rina gustia spkk
- Rina wolf
- Pustulosis eksantema generalisata akut
- Gestin ins salvador dali
- Gestin estany
- Gestin medica
- Lucas gestin
- Degestin
- Sixa ies castro alobre
- Gestin institut roquetes
- Gestin
- Gestin brossa
- Gestin rdb
- Gestin joan brossa
- Gestin mvm
- Gestin torre de malla
- Gestin
- Gestin institut roquetes
- Gestin
- Small for gestational age causes
- Gestin institut roquetes
- Gestin ins mediterrania
- Gestin 3
- Gestin
- Insbaixmontseny