Introducción a la Gestión de Memoria

Anuncio
Cuestiones
y
Problemas
de
Gestión
de
Memoria
Primera Parte
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
Cuestiones.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 enlazadas estáticamente para formar un fichero ejecutable.
SOLUCIÓN
2.
•
Los ficheros ejecutables ocuparán menos espacio.
•
Los procesos compartirán memoria.
•
Los programas no tendrán que ser recompilados ni reenlazados
para tener acceso a las mejoras de implementación efectuadas
en las bibliotecas.
De entre todos los esquemas de gestión de memoria estudiados (tanto con asignación
contigua como con asignación dispersa), indique cuáles cumplen cada una de las
siguientes características:
a) Posibilidad de compartir memoria
b) Presentan fragmentación externa
SOLUCIÓN
a) Segmentación, paginación, segmentación paginada
b) segmentación, particiones variables
3.
Definir la fragmentación externa y citar que esquemas de gestión de memoria
padecen de ella.
SOLUCIÓN
a) Estado de la memoria que se caracteriza por la existencia de
abundantes particiones libres de tamaño demasiado pequeño
como para poder ser asignadas a un proceso. Se produce este
estado tras múltiples operaciones de asignación y liberación
de particiones / segmentos de memoria de tamaño variables
b) Segmentación y Particiones Variables
4.
En un PC con un Intel Pentium (páginas de 4 Kbytes), tres procesos P1, P2 y P3 han
emitido algunas direcciones lógicas que la MMU ha traducido en sus direcciones físicas
asociadas. Asuma que los tres procesos están en memoria y que no se utiliza memoria
virtual ni intercambio. Indique qué tipo (o tipos) de gestión de memoria pueden utilizarse
en ese sistema para que se haya podido dar esa traducción, cuando los tres procesos emitan
la misma dirección lógica. Elija entre: segmentación, paginación, segmentación paginada
e imposible (la traducción no puede llevarse a cabo suponiendo que los tres procesos están
a la vez en memoria).
a) Dirección lógica: (0, 5120) Direcciones físicas: P1: 6000, P2:
18000, P3: 40960
1
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
b) Dirección lógica: (0, 17080) Direcciones físicas: P1: 4792, P2:
17080, P3: 33464
SOLUCIÓN:
a)Segmentación
b)Segmentación Paginada.
5.
Diga si es posible que, utilizando alguna técnica de gestión de memoria virtual aparezca
tanto fragmentación interna como externa. En caso de responder afirmativamente, indique
en qué método de asignación aparecen ambos problemas. En caso de responder
negativamente, explique por qué no pueden aparecer ambos problemas simultáneamente:
SOLUCIÓN:
Se admiten las dos respuestas siempre y cuando estén bien
justificadas.
No es posible: Ya que cada una de las técnicas de
gestión de memoria soluciona un tipo de fragmentación.
Si
es
posible:
Tanto
en
segmentación
como
en
particiones variables puede producirse fragmentación
interna y externa. La fragmentación interna se produce
por el grado de granularidad con que se intenta ajustar
los segmentos o particiones variables. Si se ajusta por
palabras de 16 bits podemos tener una fragmentación
interna de 1 Byte.
6.
¿Qué tipo de algoritmos se utilizan para gestionar sistemas con asignación contigua de
memoria? ¿Qué tipo de fragmentación se puede producir en estos sistemas?
SOLUCIÓN:
a) Algoritmos:
“el
primer
ajuste”
(first
fit),
“el
mejor
ajuste” (best fit), “el peor ajuste (worst fit)”
b) Fragmentación externa
7.
Enumere y clasifique las técnicas de gestión contigua y las técnicas de gestión dispersa de
la memoria.
SOLUCIÓN:
a) Gestión Contigua: Particiones múltiples fijas, particiones
múltiples variables.
b) Gestión
Dispersa:
Paginación,
segmentación,
segmentación
paginada.
8.
¿Qué problema intenta resolver el algoritmo de “peor ajuste”? ¿cómo funciona?
2
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN:
a) Asignación dinámica de memoria
b) Se escoge el hueco más grande de entre todos los existentes
para ubicar al segmento o proceso que se necesitaba cargar.
Asignación contigua
9.
Un proceso genera las siguientes direcciones lógicas. Indica las direcciones físicas
correspondientes según cada esquema de gestión de memoria. Si no es posible
indicar ERROR.
Particiones Variables. Registro Base: 150
a) 612
b) 38
c) (3, 62)
Registro Límite: 220
SOLUCIÓN:
a) ERROR
b) 188
c) ERROR
10. A continuación se presentan varias situaciones en las que uno o más procesos
generan varias direcciones lógicas. Indique las direcciones físicas
correspondientes si el esquema de gestión de memoria es el de Particiones
Variables. Si no es posible indicar ERROR.
Situación de los procesos:
Proceso
Registro base
Registro límite
A
B
C
0
4020
1400
1360
6300
2600
a) (B, 530)
b) (A,0, 130)
c) (C, 1046)
SOLUCIÓN
a) 4550
b) ERROR
c) 2246
3
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
Paginación
11. 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
b) ¿Es posible que dicha dirección lógica se traduzca en la
dirección física 9322? Razónelo.
SOLUCIÓN:
a) (2,405)
b) No, porqué el desplazamiento de la dirección 9322
es 106, que no se puede corresponder con un
desplazamiento de 405 aunque la página cambie de
marco.
12. Un proceso genera las siguientes direcciones lógicas. Indica las direcciones físicas
correspondientes según cada esquema de gestión de memoria. Si no es posible
indicar ERROR.
Paginación. Tamaño Página: 128
Tabla de Páginas:
0
1
1
4
2
2
3
5
a) 612
b) 38
c) (3, 62)
SOLUCIÓN:
a)ERROR
b)166
c)ERROR
13. A continuación se presentan varias situaciones en las que uno o más procesos
generan varias direcciones lógicas. Indique las direcciones físicas
correspondientes si el esquema de gestión de memoria es el de Paginación. Si no es
posible indicar ERROR.
Tamaño Página: 256.
Tabla de Páginas:
0
1
2
3
a) 530
b) (0, 130)
c) 1046
4
4
5
3
6
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN:
a) 786
b) ERROR
c) ERROR
14. Dado un sistema basado en un modelo de memoria basado en paginación y con los
siguientes parámetros:.
− p: probabilidad de fallo de página.
− TAM: tiempo de acceso a memoria.
− TP: tiempo de servicio de fallo de página.
− TAE: el tiempo de acceso efectivo a memoria cuando la tabla de páginas
está cargada en registros. Se asume que el tiempo de acceso a los
registros es despreciable.
¿ Cuál es el valor del incremento en el TAE si la tabla de páginas (un solo
nivel) se encontrara en memoria ?
SOLUCIÓN:
p’ * TAM + (1 - p’)* TP
15. En un sistema con una memoria física de 64K bytes, se accede a la dirección física
27214 como respuesta a una dirección lógica emitida por el proceso P1 cuyo
tamaño es de 15535 bytes. Deducir la(s) dirección(es) lógica emitida(s)
suponiendo un modelo de gestión de memoria paginada con páginas de 4K bytes
SOLUCIÓN:
2638, 6734, 10830, 14926
16. En un sistema de gestión de memoria paginado, se han incluido unos registros asociativos
(TLB) para mejorar el rendimiento del sistema. La búsqueda en estos registros cuesta 20
ns, mientras que su búsqueda y actualización cuesta 40 ns. El tiempo de acceso a memoria
(TAM) es igual a 100 ns. Suponiendo que la tasa de acierto en el TLB es de un 80%,
calcular el tiempo de acceso efectivo a memoria en este sistema.
SOLUCIÓN
Taef=(Tam+Ttlbusq.)x 0.8 + (2 Tam + Ttlbusq_act)x 0.2= 144ns
17. Diga cuáles de los siguientes problemas permite resolver un sistema de memoria virtual
que utiliza la técnica de paginación sin intercambios (sin swapping) (conteste SI o NO):
a) Reubicación en tiempo de ejecución
b) Fragmentación interna
c) Ejecución de programas de tamaño mayor que la memoria física
d) Asignación dispersa de memoria
e) Espacios de direccionamiento independientes para cada proceso
SOLUCIÓN:
5
Cuestiones y Problemas de Gestión de Memoria
a)
b)
c)
d)
e)
Cuestiones
SI
NO
NO
SI
SI
18. 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
b) ¿Es posible que dicha dirección lógica se traduzca en la dirección física 9322?
Razónelo.
SOLUCIÓN:
a) página 2, desplazamiento 405
b) NO. (9322 mod 1024) = 106 y debería ser 405 para que
fuese posible
19. Se tiene un sistema de memoria virtual con paginación a un nivel que no utiliza
intercambios y cuya tabla de páginas se encuentra en memoria principal. Este sistema
utiliza una TLB (Translation Look-aside Buffers) cuyo porcentaje de aciertos es del 85%.
¿Cuánto empeora el TAE respecto a un sistema que tuviese la tabla de páginas
íntegramente en registros del procesador?. Considere que el tiempo de acceso a los
registros internos del procesador y a la TLB es despreciable frente al TAM (Tiempo de
Acceso a Memoria).
SOLUCIÓN
TAE = 0.85*TAM + 0.15*2*TAM = 1.15*TAM
ΛTAE = 1.15*TAM – TAM = 0.15*TAM
Segmentación
20. Sea un sistema que utiliza segmentación (no paginada) y un proceso con tres
segmentos de tamaños respectivos 2142, 1023 y 5422 palabras. Si los tres
segmentos se ubican de forma consecutiva y contigua en memoria central a partir
de la dirección 9212, indique la dirección física que corresponde a la dirección
lógica (1, 312)
SOLUCIÓN:
9212+2142+312 = 11666
21. Razone las ventajas de utilizar la técnica de compartir segmentos en la llamada al sistema
exec() de Unix desde los puntos de vista de gestión de la memoria.
6
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN:
Gestión de la memoria: Resulta sencillo compartir el “segmento” de
código con otros procesos que estén ejecutando el mismo programa
que se ha especificado como argumento de “exec()”. Basta para
ello, con tener en el PCB de cada proceso un atributo que indique
el nombre del programa que está ejecutando. Los segmentos de datos
y pila no deben compartirse (no hay que hacer nada especial para
ello. El de datos inicializados hay que leerlo del fichero
ejecutable).
22. Un proceso genera las siguientes direcciones lógicas. Indica las direcciones físicas
correspondientes según cada esquema de gestión de memoria. Si no es posible indicar
ERROR
Segmentación (no paginada).
Tabla de Segmentos:
Seg.
0
1
2
3
Base
200
50
105
320
Limite
20
10
49
70
a) 612
b) 38
c) (3, 62)
SOLUCIÓN:
a)ERROR
b)ERROR
c)382
23. Suponga que un proceso emite la dirección lógica (2,18004) utilizando un modelo
de gestión de memoria basado en segmentación y el espacio de memoria física es
de 64K bytes.
a) ¿ A qué direcciones físicas de las siguientes (11084, 33270 y
22112) , sería posible traducir dicha dirección lógica ?
b) ¿ Cual sería el resultado de traducir la dirección lógica
(0,65536) en dicho sistema ? Justificar la respuesta.
SOLUCIÓN:
a) 33270 (el segmento empieza en la dir. 15266) , 22112 (si
empieza en la dir. 4108)
b) Error por exceso en el tamaño máximo del segmento (64k).
24. En un sistema con una memoria física de 64K bytes, se accede a la dirección física
27214 como respuesta a una dirección lógica emitida por el proceso P1 cuyo
tamaño es de 15535 bytes. Deducir la(s) dirección(es) lógica emitida(s),
suponiendo un modelo de gestión de memoria segmentado con segmentos de 16K
bytes. Asuma que los segmentos comienzan siempre en una dirección múltiplo de
16 K bytes y que P1 está contenido en un único segmento
7
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN:
(ns, 27214-16384) (ns, 10830)
25. Enumere las llamadas al sistema en Unix cuya eficiencia podría verse aumentada
por el hecho de compartir segmentos con un proceso que ya se está ejecutando en
memoria. Diga para cada una de ellas qué segmentos podrían compartirse
SOLUCIÓN:
a)fork(): crear un nuevo proceso, clonando el proceso que la
invoca.
Puede compartirse el segmento T. El
compartirse en modo “copy on write”.)
segmento
D
solo
puede
b)exec() : cambiar la imagen de memoria
Solo puede compartirse el segmento T.
Segmentación Paginada
26. Sea un sistema de memoria virtual segmentado-paginado. Los espacios de direcciones
lógicas son de 8Gbytes y el tamaño de página es de 2Kbytes. Un espacio de direcciones
puede tener hasta 256 segmentos y los descriptores de página tienen 4 bytes. Diga cual
será el tamaño de la tabla de páginas de un segmento.
SOLUCIÓN:
8GB Dir. lógicas de 33 bits.
256 segmentos 8 bits para el número de segmento.
Páginas de 2 KB 11 bits para el desplazamiento.
Nº bits para nº de página 33 – (8 + 11) = 33 – 19 = 14
214 = 16384 descriptores
Tamaño tabla = 16384 * 4 = 65536 = 64 KB
27. Suponga que un proceso emite una dirección lógica (5, 18004) utilizando un
modelo de gestión de memoria basado en segmentación paginada, con páginas de
4096 bytes.
a) Indicar qué direcciones de entre las siguientes corresponden a
dicha dirección lógica: 1620, 4004, 8004, 9812, 23720.
b) Razone si sería mejor o peor utilizar un tamaño de página de
4000 bytes.
c) Indicar qué direcciones de entre las siguientes cuales podrían
ser direcciones físicas base del segmento 5 referenciado en la
dirección (5, 18004): 0, 18004, 5000, 8192, 23000
8
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN:
a) 1620, 9812
b) Peor, ya que se requeriría hardware adicional en
la unidad de gestión de memoria para descomponer
la dirección lógica en sus diferentes partes
c) 0, 8192
28. Suponga que un proceso emite las direcciones lógicas (2,18004) (1, 2735) (5,
12219) utilizando un modelo de gestión de memoria basado en segmentación
paginada y que estas tres direcciones lógicas producen respectivamente las tres
siguientes direcciones físicas: 1108, 1327 y 1211.
a) ¿Cuál es el número máximo de bits que se están utilizando
para el desplazamiento dentro de una página?
b) ¿ Cuál es el número mínimo de bits que se están utilizando
para indicar un número de página?
c) ¿ Cuál es el número mínimo de bits que se están utilizando
para indicar un número de marco?
SOLUCIÓN:
a) 7
b) 8
c) 4
29. A continuación se presentan varias situaciones en las que uno o más procesos
generan varias direcciones lógicas. Indique las direcciones físicas
correspondientes si el esquema de gestión de memoria es el de Segmentación
Paginada. Si no es posible indicar ERROR.
Segmentación paginada por demanda. Tamaño de página 128.
Situación de la memoria física
Marco
(segmento, página)
0
(0,3)
1
(1,0)
2
(2,0)
3
-4
(1,2)
5
(0,0)
6
(0,2)
7
(1,3)
a) 530
b) (0, 130)
c) 1046
SOLUCIÓN:
9
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
a) ERROR
b) 386
c) ERROR
30. Suponga que un proceso emite la dirección lógica(0,9701) utilizando un modelo
de memoria basado en segmentación paginada (tamaño de página=512 palabras),
la memoria se encuentra vacía, el espacio de memoria física es de 64K bytes y el
criterio de asignación de memoria es por direcciones crecientes. ¿ Cuál sería la
dirección física correspondiente a la dirección lógica?.
SOLUCIÓN:
9701 MOD 512 = 485
31. En un sistema de gestión de memoria segmentado-paginado se tiene una MMU donde
únicamente se permiten 8 segmentos por proceso y se emplean dos niveles de paginación,
implementando ambos en memoria principal. La tabla de segmentos se ha implementado
en registros, con un tiempo de acceso igual a 2 ns. El tiempo de acceso a memoria (TAM)
es igual a 20 ns. Para mejorar el rendimiento, se tiene un conjunto de registros asociativos
(TLB), donde se guarda como clave tanto el número de segmento como los dos números
de página. El tiempo de acceso para estos registros asociativos es igual a 10 ns.
Indique cuál será el tiempo de acceso efectivo (TAE) de este sistema, si las direcciones
lógicas a traducir se encuentran en el TLB en el 90% de los accesos.
SOLUCIÓN:
Taef=(Tam+Ttlb)tasa_acier+(1-tasa_acier)(3Tam+Ttlb+Treg)
Taef= (20+10) 0.9 +(0.1)(60+10+2)= 27+7.2=34.2
32. En un sistema con una memoria física de 64K bytes, se accede a la dirección física 27214
como respuesta a una dirección lógica emitida por el proceso P1 cuyo tamaño es de 15535
bytes. Deducir la(s) dirección(es) lógica emitida(s), suponiendo un modelo de gestión de
memoria segmentada paginada con páginas de 4K bytes y segmentos de 16K bytes.
Asuma que P1 está contenido en un único segmento
SOLUCIÓN:
(ns, 2638), (ns, 6734), (ns, 10830), (ns, 14926)
33. Supongamos un sistema de gestión de memoria con segmentación paginada, con páginas
de 1Kb. Un proceso emite las siguientes direcciones lógicas: (1, 2487) y (1, 635). A
continuación se muestra la tabla de páginas del segmento 1. ¿Cuáles serán las direcciones
físicas correspondientes?.
nº página
0
1
2
marco
3
7
8
a) (1, 2487 )
b) ( 1 , 635 )
SOLUCIÓN:
a) 8631
10
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
b) 3707
34. En un esquema de segmentación paginada con páginas de 1Kb, ¿Es posible que la
dirección lógica (2, 1333) se pudiera traducir a la dirección física 3654?. ¿Y a la dirección
física 2357?. Razónelo
SOLUCIÓN:
No es posible a 3654: (1333-1024)=309; (1024x3)+309≠3654
Si es posible a 2357: (1333-1024)=309; (1024x2)+309= 2357
35. Sea un sistema de memoria virtual segmentado-paginado. Los espacios de direcciones
lógicas son de 8Gbytes y el tamaño de página es de 2Kbytes. Un espacio de direcciones
puede tener hasta 256 segmentos y los descriptores de página tienen 4 bytes. Diga cual
será el tamaño de la tabla de páginas de un segmento.
SOLUCIÓN:
8GB Dir. lógicas de 33 bits.
256 segmentos 8 bits para el número de segmento.
Páginas de 2 KB 11 bits para el desplazamiento.
Nº bits para nº de página 33 – (8 + 11) = 33 – 19 = 14
214 = 16384 descriptores
Tamaño tabla = 16384 * 4 = 65536 = 64 KB
36. Sea un esquema de segmentación paginada con un máximo de S segmentos por proceso y
P páginas por segmento. El tamaño de página en dicho sistema es de 2kbytes. Indique a
que dirección o direcciones lógicas se pueden corresponder las direcciones físicas 3654 y
2357.
SOLUCIÓN:
a)
3654
(s,p*2048+1606), donde s<=S y p<=P.
Donde 1606 es el módulo de la división cuyo dividendo
es la dirección física (3654) y cuyo divisor es el
tamaño de marco (2048).
b)
2357
(s,p*2048+309), donde s<=S y p<=P.
Donde 309 es el módulo de la división cuyo dividendo
es la dirección física (2357) y cuyo divisor es el
tamaño de marco (2048).
37. Sea un sistema de memoria virtual segmentado-paginado. Los espacios de direcciones
lógicas son de 8Gbytes y el tamaño de página es de 16 Kbytes. Un espacio de direcciones
puede tener hasta 256 segmentos y un descriptor de página ocupa 8 bytes.
Indique, de manera justificada, cual será el tamaño de la tabla de páginas de un segmento.
11
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
SOLUCIÓN
Tamaño tabla de páginas de un segmento
La dirección lógica estará formada por 33 bits:
SEG
8 bits
Número de pág
11 bits
Desplazamiento dentro de la
página
14 bits
El tamaño de la tabla de páginas de un segmento = 211 * 8 bytes
=16 Kbytes
Paginación Multinivel
38. Se tiene un sistema de memoria virtual con paginación a dos niveles que permite agrupar
las páginas en “directorios de páginas”. Cada directorio de páginas puede contener hasta
256 páginas. Los espacios de direcciones lógicas de este sistema son de 4Gbytes y el
tamaño de página es de 4Kbytes. El espacio de direcciones físicas que puede tener hasta
1Gb. Describa la estructura de las direcciones lógicas y de las direcciones físicas de este
sistema de memoria virtual.
SOLUCIÓN:
12
dir-pag
Dirección lógica:
Dirección física:
8
12
pagina
offset
18
12
marco
offset
39. Se tiene un sistema de memoria virtual con paginación a dos niveles en el que las páginas
se agrupan en directorios de páginas, cada uno de los cuales contiene 256 páginas. Los
espacios de direcciones lógicas son de 4Gbytes y el tamaño de página es de 4Kbytes. El
espacio de direcciones físicas que puede tener hasta 1Gb. Este sistema está soportado por
una MMU en el que los descriptores de página contienen un bit de validez, tres bits para
protección y dos bits para implementar un algoritmo de aproximación al LRU (además de
la información para la traducción de direcciones).
Se tiene un determinado proceso con el siguiente espacio de direcciones lógicas disperso
con las siguientes regiones (las direcciones son en hexadecimal):
• 00000000 – 10088000 : Código y datos del programa
• 40000000 – 52000000 : Biblioteca dinámica
• BF000000 – C0000000 : Pila
¿Cual será el tamaño de la tabla de páginas de dicho proceso, y cual sería el tamaño
máximo que podría llegar a tener.?
SOLUCIÓN:
Dirección lógica:
12
8
dir-pag
pagina
offset
18
12
marco
12
12
offset
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
Dirección física:
Region código: 0x10088 páginas = 65672 pags
Región biblioteca dinámica: (52000-40000)= 0x12000 pags =
73728 pags
Region pila: (C0000–BF000)= 0x1000 pags = 4096 pags
Total descriptores = 0x69198 = 143.496 descriptores
Tamaño descriptor = 18 + 1 + 3 + 2 = 24 bits = 3 bytes
Tamaño tabla de páginas: 143.496 x 3 = 430.488 bytes = 420.4
Kb aprox
Tamaño max del proceso = 4 Gb = 1020 pags = 1 Mpags
Tamaño max de la tabla de páginas = 3 Mb
40. Suponga que la tabla de directorios se encuentra en los registros de la MMU y que la tabla
de páginas se encuentra en memoria principal, reservándose N marcos para la misma y
recurriendo a la paginación por demanda cuando el descriptor solicitado no se encuentra
en estos N marcos. Se pide calcular el incremento en el TAE (Tiempo de Acceso Efectivo
a Memoria) por el efecto de paginar la tabla de páginas, suponiendo que:
• La probabilidad de que un determinado descriptor de página se encuentre en memoria
es (1-pd).
• La probabilidad de encontrar un marco libre en los N marcos es cero.
• La probabilidad de que una página que se encuentra en uno de los N marcos haya sido
modificado es pm.
• El tiempo de acceso a memoria es TAM.
• El tiempo de acceso a disco es TAD (tanto para lectura como para escritura).
SOLUCIÓN:
1-pd
descr.
en mem
pd
descr.
en disco
TAE = X
1-pm
pm
descr.
modif.
descr.
NO modif.
TAE = X + 2*TAD
TAE = X + TAD
TAE = (1-pd)*X + pd*(1-pm)*(TAD+X) + pd*pm (2*TAD+X)=
X + pd*TAD + pd*pm*TAD
ΛTAE = pd*TAD + pd*pm*TAD = pd*TAD (1+pm)
41. Sea un sistema de memoria virtual con paginación a dos niveles. El primer nivel de
paginación se utiliza para dividir un espacio de direcciones lógico en regiones mientras
que el segundo nivel se utiliza para dividir una región en páginas. Los espacios de
direcciones lógicas son de 4Gbytes y el tamaño de página es de 4Kbytes.
Suponiendo que un descriptor de página ocupa 8 bytes. ¿Cual será la estructura de una
dirección lógica si se desea que la tabla con los descriptores de página de una región (una
tabla de segundo nivel) quepa en una página?
SOLUCIÓN:
En una tabla de segundo nivel cabrán 4096/8 entradas (512). Por
tanto, hay:
11 bits para el número de página de 1er nivel.
9 bits para el número de página de 2º nivel.
13
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
12 bits para el desplazamiento
42. Se tiene un sistema de memoria segmentado paginado con paginación a dos niveles. Cada
proceso puede tener un espacio lógico de 4 segmentos como máximo y 512 páginas de
primer nivel. Los espacios de direcciones lógicas de este sistema son de 32Gbytes y el
tamaño de página es de 4Kbytes. El espacio de direcciones físicas que puede tener hasta
4Gb.
Describa la estructura de las direcciones lógicas y de las direcciones físicas de este sistema
de memoria virtual, indicando el número de bits de cada uno de los campos que en ellas
aparecen.
SOLUCIÓN:
Dirección lógica
(seg=2 bits, p1=9 bits, p2=12 bits, des=12 bits)
Dirección física
(mar=20 bits, des=12 bits)
14
Cuestiones y Problemas de Gestión de Memoria
Cuestiones
Problemas:
Asignación contigua
1.
Sea un sistema de memoria con particiones múltiples de tamaño variable con
compactación. El algoritmo de compactación siempre ubica el hueco de memoria en las
direcciones más altas, finalizando la compactación cuando obtiene un hueco lo
suficientemente grande para ubicar el proceso. En un instante dado, se tiene la siguiente
ocupación de memoria:
S.O.
(128K)
P1
(256K)
libre
(512K)
P2
(16K)
libre
(96K)
P3
(32K)
Se utiliza la técnica del mejor ajuste. En la cola de trabajos pendientes tenemos dos
proceso P4 (416K) y P5(128K), si nada más cargarse en memoria dichos procesos hay una
solicitud para acceder a las direcciones (P4, 1500) y (P5, 300) respectivamente ¿Indique
cuales serían las direcciones físicas generadas por la MMU
SOLUCIÓN:
a) (P4, 1500)
128K + 256K + 1500=128*1024+256*1024+1500= 394716
b) (P5, 300)
128K + 256K + 416K +16K +300 = 816 K + 300=
816*1024+300= 836700
2.
Sea un sistema gestionado por particiones múltiples de tamaño variable sin
compactación. En un instante dado, se tiene la siguiente ocupación de la memoria:
S.O.
P1
(80K) (150K)
libre
(400K)
P2
(300K)
libre
(300K)
P3
libre
(180K) (200K)
Se utiliza la técnica del peor ajuste. En la cola de trabajos tenemos en este orden:
P4(200K), P5(200K) i P6(300K), los cuales deben ser atendidos en orden FIFO.
Suponiendo que no finaliza ningún proceso y tras intentar cargar en memoria todos
los procesos que están en la cola...
a) Indicar si queda algún proceso en la cola de trabajos que no haya
podido ser cargado en memoria. En caso afirmativo indicar cual es.
b) Indicar cuantas particiones libres quedan en memoria y de que
tamaño son.
15
Cuestiones y Problemas de Gestión de Memoria
Problemas
SOLUCIÓN:
a) Sí, queda uno; el proceso P6
b) Quedan tres particiones de tamaño 200K, 100K y 200K
3.
Sea un sistema gestionado por particiones múltiples de tamaño variable con
compactación. En un instante dado, se tiene la siguiente ocupación de la memoria:
0
S.O.
(80K)
P1
(180K)
libre
(400K)
P2
(100K)
libre
(150K)
984K
P3
(75K)
Se utiliza la técnica del mejor ajuste. En la cola de trabajos tenemos en este orden:
P4(120K), P5(200K) y P6(80K), los cuales deben ser atendidos en orden FIFO.
Suponiendo que no finaliza ningún proceso y tras intentar cargar en memoria todos
los procesos que están en la cola.
a) Indicar cuántas particiones quedan libres y de qué tamaño son.
b) Si en esta situación se aplica compactación, indicar qué proceso o
procesos deberían moverse para que el número de Kbytes
manejados fuese el menor posible y quede un único hueco
c) Si los registros base de cada proceso son, respectivamente, B1, B2,
B3, B4, B5 y B6, indicar cómo han cambiado los registros base
correspondientes al proceso o procesos que se han movido debido a
la compactación.
SOLUCIÓN:
a) Quedan dos particiones de tamaños 120K y 30K respectivamente
b) Debería moverse el proceso P4 al hueco de 120K
c) Todos quedan igual, salvo B4 que queda (B4-220K)
4.
Sea un sistema gestionado por particiones múltiples de tamaño variable sin
compactación. En un instante dado, se tiene la siguiente ocupación de la memoria:
0
S.O.
(80K)
P1
(180K)
libre
(400K)
P2
(100K)
libre
(150K)
P3
(90K)
1200K
Libre
(200K)
En la cola de trabajos tenemos en este orden: P4(120K), P5(200K) y P6(300K), los
cuales deben ser atendidos en orden FIFO. Suponiendo que no finaliza ningún
proceso y tras intentar cargar en memoria todos los procesos que están en la cola,
evaluar cual de las técnicas entre las de mejor ajuste y peor ajuste es conveniente
utilizar y porque.
SOLUCIÓN:
Mejor ajuste. En el caso del peor ajuste el proceso P6 no
puede entrar
16
Descargar