y
Problemas
de
Gestin
de
Memoria
Primera Parte
Cuestiones
Cite tres ventajas ofrecidas por las bibliotecas de enlace dinmico cuando se las compara
con las bibliotecas enlazadas estticamente para formar un fichero ejecutable.
SOLUCIN
2.
De entre todos los esquemas de gestin de memoria estudiados (tanto con asignacin
contigua como con asignacin dispersa), indique cules cumplen cada una de las
siguientes caractersticas:
3.
4.
Cuestiones
5.
Diga si es posible que, utilizando alguna tcnica de gestin de memoria virtual aparezca
tanto fragmentacin interna como externa. En caso de responder afirmativamente, indique
en qu mtodo de asignacin aparecen ambos problemas. En caso de responder
negativamente, explique por qu no pueden aparecer ambos problemas simultneamente:
SOLUCIN:
Se admiten las dos respuestas siempre y cuando estn bien
justificadas.
6.
el
primer
ajuste
(first
fit),
el
mejor
7.
Enumere y clasifique las tcnicas de gestin contigua y las tcnicas de gestin dispersa de
la memoria.
SOLUCIN:
a) Gestin Contigua: Particiones mltiples fijas, particiones
mltiples variables.
b) Gestin
Dispersa:
Paginacin,
segmentacin,
segmentacin
paginada.
8.
Cuestiones
SOLUCIN:
a) Asignacin dinmica de memoria
b) Se escoge el hueco ms grande de entre todos los existentes
para ubicar al segmento o proceso que se necesitaba cargar.
Asignacin contigua
9.
Un proceso genera las siguientes direcciones lgicas. Indica las direcciones fsicas
correspondientes segn cada esquema de gestin de memoria. Si no es posible
indicar ERROR.
Particiones Variables. Registro Base: 150
a) 612
b) 38
c) (3, 62)
SOLUCIN:
a) ERROR
b) 188
c) ERROR
Registro base
Registro lmite
A
B
C
0
4020
1400
1360
6300
2600
a) (B, 530)
b) (A,0, 130)
c) (C, 1046)
SOLUCIN
a) 4550
b) ERROR
c) 2246
Cuestiones
Paginacin
11. Suponga que un proceso emite una direccin lgica igual a 2453 y que se utiliza la
tcnica de paginacin, con pginas de 1024 palabras
a) Indique el par de valores (nmero de pgina, desplazamiento)
que corresponde a dicha direccin
b) Es posible que dicha direccin lgica se traduzca en la
direccin fsica 9322? Raznelo.
SOLUCIN:
a) (2,405)
b) No, porqu el desplazamiento de la direccin 9322
es 106, que no se puede corresponder con un
desplazamiento de 405 aunque la pgina cambie de
marco.
12. Un proceso genera las siguientes direcciones lgicas. Indica las direcciones fsicas
correspondientes segn cada esquema de gestin de memoria. Si no es posible
indicar ERROR.
Paginacin. Tamao Pgina: 128
Tabla de Pginas:
0
1
1
4
2
2
3
5
a) 612
b) 38
c) (3, 62)
SOLUCIN:
a)ERROR
b)166
c)ERROR
4
5
3
6
Cuestiones
SOLUCIN:
a) 786
b) ERROR
c) ERROR
14. Dado un sistema basado en un modelo de memoria basado en paginacin y con los
siguientes parmetros:.
p: probabilidad de fallo de pgina.
TAM: tiempo de acceso a memoria.
TP: tiempo de servicio de fallo de pgina.
TAE: el tiempo de acceso efectivo a memoria cuando la tabla de pginas
est cargada en registros. Se asume que el tiempo de acceso a los
registros es despreciable.
Cul es el valor del incremento en el TAE si la tabla de pginas (un solo
nivel) se encontrara en memoria ?
SOLUCIN:
p * TAM + (1 - p)* TP
15. En un sistema con una memoria fsica de 64K bytes, se accede a la direccin fsica
27214 como respuesta a una direccin lgica emitida por el proceso P1 cuyo
tamao es de 15535 bytes. Deducir la(s) direccin(es) lgica emitida(s)
suponiendo un modelo de gestin de memoria paginada con pginas de 4K bytes
SOLUCIN:
2638, 6734, 10830, 14926
16. En un sistema de gestin de memoria paginado, se han incluido unos registros asociativos
(TLB) para mejorar el rendimiento del sistema. La bsqueda en estos registros cuesta 20
ns, mientras que su bsqueda y actualizacin 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.
SOLUCIN
Taef=(Tam+Ttlbusq.)x 0.8 + (2 Tam + Ttlbusq_act)x 0.2= 144ns
17. Diga cules de los siguientes problemas permite resolver un sistema de memoria virtual
que utiliza la tcnica de paginacin sin intercambios (sin swapping) (conteste SI o NO):
a) Reubicacin en tiempo de ejecucin
b) Fragmentacin interna
c) Ejecucin de programas de tamao mayor que la memoria fsica
d) Asignacin dispersa de memoria
e) Espacios de direccionamiento independientes para cada proceso
SOLUCIN:
a)
b)
c)
d)
e)
Cuestiones
SI
NO
NO
SI
SI
18. Suponga que un proceso emite una direccin lgica igual a 2453 y que se utiliza la tcnica
de paginacin, con pginas de 1024 palabras.
a) Indique el par de valores (nmero de pgina, desplazamiento) que corresponde a dicha
direccin
b) Es posible que dicha direccin lgica se traduzca en la direccin fsica 9322?
Raznelo.
SOLUCIN:
a) pgina 2, desplazamiento 405
b) NO. (9322 mod 1024) = 106 y debera ser 405 para que
fuese posible
19. Se tiene un sistema de memoria virtual con paginacin a un nivel que no utiliza
intercambios y cuya tabla de pginas se encuentra en memoria principal. Este sistema
utiliza una TLB (Translation Look-aside Buffers) cuyo porcentaje de aciertos es del 85%.
Cunto empeora el TAE respecto a un sistema que tuviese la tabla de pginas
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).
SOLUCIN
TAE = 0.85*TAM + 0.15*2*TAM = 1.15*TAM
TAE = 1.15*TAM TAM = 0.15*TAM
Segmentacin
20. Sea un sistema que utiliza segmentacin (no paginada) y un proceso con tres
segmentos de tamaos respectivos 2142, 1023 y 5422 palabras. Si los tres
segmentos se ubican de forma consecutiva y contigua en memoria central a partir
de la direccin 9212, indique la direccin fsica que corresponde a la direccin
lgica (1, 312)
SOLUCIN:
9212+2142+312 = 11666
21. Razone las ventajas de utilizar la tcnica de compartir segmentos en la llamada al sistema
exec() de Unix desde los puntos de vista de gestin de la memoria.
Cuestiones
SOLUCIN:
Gestin de la memoria: Resulta sencillo compartir el segmento de
cdigo con otros procesos que estn 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 lgicas. Indica las direcciones fsicas
correspondientes segn cada esquema de gestin de memoria. Si no es posible indicar
ERROR
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)
SOLUCIN:
a)ERROR
b)ERROR
c)382
23. Suponga que un proceso emite la direccin lgica (2,18004) utilizando un modelo
de gestin de memoria basado en segmentacin y el espacio de memoria fsica es
de 64K bytes.
a) A qu direcciones fsicas de las siguientes (11084, 33270 y
22112) , sera posible traducir dicha direccin lgica ?
b) Cual sera el resultado de traducir la direccin lgica
(0,65536) en dicho sistema ? Justificar la respuesta.
SOLUCIN:
a) 33270 (el segmento empieza en la dir. 15266) , 22112 (si
empieza en la dir. 4108)
Cuestiones
SOLUCIN:
(ns, 27214-16384) (ns, 10830)
25. Enumere las llamadas al sistema en Unix cuya eficiencia podra 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 podran compartirse
SOLUCIN:
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
solo
puede
Segmentacin Paginada
26. Sea un sistema de memoria virtual segmentado-paginado. Los espacios de direcciones
lgicas son de 8Gbytes y el tamao de pgina es de 2Kbytes. Un espacio de direcciones
puede tener hasta 256 segmentos y los descriptores de pgina tienen 4 bytes. Diga cual
ser el tamao de la tabla de pginas de un segmento.
SOLUCIN:
8GB Dir. lgicas de 33 bits.
256 segmentos 8 bits para el nmero de segmento.
Pginas de 2 KB 11 bits para el desplazamiento.
N bits para n de pgina 33 (8 + 11) = 33 19 = 14
214 = 16384 descriptores
Tamao tabla = 16384 * 4 = 65536 = 64 KB
27. Suponga que un proceso emite una direccin lgica (5, 18004) utilizando un
modelo de gestin de memoria basado en segmentacin paginada, con pginas de
4096 bytes.
a) Indicar qu direcciones de entre las siguientes corresponden a
dicha direccin lgica: 1620, 4004, 8004, 9812, 23720.
b) Razone si sera mejor o peor utilizar un tamao de pgina de
4000 bytes.
c) Indicar qu direcciones de entre las siguientes cuales podran
ser direcciones fsicas base del segmento 5 referenciado en la
direccin (5, 18004): 0, 18004, 5000, 8192, 23000
Cuestiones
SOLUCIN:
a) 1620, 9812
b) Peor, ya que se requerira hardware adicional en
la unidad de gestin de memoria para descomponer
la direccin lgica en sus diferentes partes
c) 0, 8192
28. Suponga que un proceso emite las direcciones lgicas (2,18004) (1, 2735) (5,
12219) utilizando un modelo de gestin de memoria basado en segmentacin
paginada y que estas tres direcciones lgicas producen respectivamente las tres
siguientes direcciones fsicas: 1108, 1327 y 1211.
a) Cul es el nmero mximo de bits que se estn utilizando
para el desplazamiento dentro de una pgina?
b) Cul es el nmero mnimo de bits que se estn utilizando
para indicar un nmero de pgina?
c) Cul es el nmero mnimo de bits que se estn utilizando
para indicar un nmero de marco?
SOLUCIN:
a) 7
b) 8
c) 4
SOLUCIN:
Cuestiones
a) ERROR
b) 386
c) ERROR
32. En un sistema con una memoria fsica de 64K bytes, se accede a la direccin fsica 27214
como respuesta a una direccin lgica emitida por el proceso P1 cuyo tamao es de 15535
bytes. Deducir la(s) direccin(es) lgica emitida(s), suponiendo un modelo de gestin de
memoria segmentada paginada con pginas de 4K bytes y segmentos de 16K bytes.
Asuma que P1 est contenido en un nico segmento
SOLUCIN:
(ns, 2638), (ns, 6734), (ns, 10830), (ns, 14926)
33. Supongamos un sistema de gestin de memoria con segmentacin paginada, con pginas
de 1Kb. Un proceso emite las siguientes direcciones lgicas: (1, 2487) y (1, 635). A
continuacin se muestra la tabla de pginas del segmento 1. Cules sern las direcciones
fsicas correspondientes?.
n pgina
0
1
2
marco
3
7
8
a) (1, 2487 )
b) ( 1 , 635 )
SOLUCIN:
a) 8631
10
Cuestiones
b) 3707
SOLUCIN:
No es posible a 3654: (1333-1024)=309; (1024x3)+3093654
Si es posible a 2357: (1333-1024)=309; (1024x2)+309= 2357
36. Sea un esquema de segmentacin paginada con un mximo de S segmentos por proceso y
P pginas por segmento. El tamao de pgina en dicho sistema es de 2kbytes. Indique a
que direccin o direcciones lgicas se pueden corresponder las direcciones fsicas 3654 y
2357.
SOLUCIN:
a)
3654
(s,p*2048+1606), donde s<=S y p<=P.
Donde 1606 es el mdulo de la divisin cuyo dividendo
es la direccin fsica (3654) y cuyo divisor es el
tamao de marco (2048).
b)
2357
(s,p*2048+309), donde s<=S y p<=P.
Donde 309 es el mdulo de la divisin cuyo dividendo
es la direccin fsica (2357) y cuyo divisor es el
tamao de marco (2048).
11
Cuestiones
SOLUCIN
Tamao tabla de pginas de un segmento
La direccin lgica estar formada por 33 bits:
SEG
8 bits
Nmero de pg
11 bits
Desplazamiento dentro de la
pgina
14 bits
Paginacin Multinivel
38. Se tiene un sistema de memoria virtual con paginacin a dos niveles que permite agrupar
las pginas en directorios de pginas. Cada directorio de pginas puede contener hasta
256 pginas. Los espacios de direcciones lgicas de este sistema son de 4Gbytes y el
tamao de pgina es de 4Kbytes. El espacio de direcciones fsicas que puede tener hasta
1Gb. Describa la estructura de las direcciones lgicas y de las direcciones fsicas de este
sistema de memoria virtual.
SOLUCIN:
12
dir-pag
Direccin lgica:
Direccin fsica:
12
pagina
offset
18
12
marco
offset
39. Se tiene un sistema de memoria virtual con paginacin a dos niveles en el que las pginas
se agrupan en directorios de pginas, cada uno de los cuales contiene 256 pginas. Los
espacios de direcciones lgicas son de 4Gbytes y el tamao de pgina es de 4Kbytes. El
espacio de direcciones fsicas que puede tener hasta 1Gb. Este sistema est soportado por
una MMU en el que los descriptores de pgina contienen un bit de validez, tres bits para
proteccin y dos bits para implementar un algoritmo de aproximacin al LRU (adems de
la informacin para la traduccin de direcciones).
12
dir-pag
pagina
offset
18
12
marco
12
12
offset
Cuestiones
Direccin fsica:
Region cdigo: 0x10088 pginas = 65672 pags
Regin biblioteca dinmica: (52000-40000)= 0x12000 pags =
73728 pags
Region pila: (C0000BF000)= 0x1000 pags = 4096 pags
Total descriptores = 0x69198 = 143.496 descriptores
Tamao descriptor = 18 + 1 + 3 + 2 = 24 bits = 3 bytes
Tamao tabla de pginas: 143.496 x 3 = 430.488 bytes = 420.4
Kb aprox
Tamao max del proceso = 4 Gb = 1020 pags = 1 Mpags
Tamao max de la tabla de pginas = 3 Mb
40. Suponga que la tabla de directorios se encuentra en los registros de la MMU y que la tabla
de pginas se encuentra en memoria principal, reservndose N marcos para la misma y
recurriendo a la paginacin 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 pginas, suponiendo que:
La probabilidad de que un determinado descriptor de pgina 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 pgina 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).
SOLUCIN:
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
41. Sea un sistema de memoria virtual con paginacin a dos niveles. El primer nivel de
paginacin se utiliza para dividir un espacio de direcciones lgico en regiones mientras
que el segundo nivel se utiliza para dividir una regin en pginas. Los espacios de
direcciones lgicas son de 4Gbytes y el tamao de pgina es de 4Kbytes.
Suponiendo que un descriptor de pgina ocupa 8 bytes. Cual ser la estructura de una
direccin lgica si se desea que la tabla con los descriptores de pgina de una regin (una
tabla de segundo nivel) quepa en una pgina?
SOLUCIN:
En una tabla de segundo nivel cabrn 4096/8 entradas (512). Por
tanto, hay:
11 bits para el nmero de pgina de 1er nivel.
9 bits para el nmero de pgina de 2 nivel.
13
Cuestiones
42. Se tiene un sistema de memoria segmentado paginado con paginacin a dos niveles. Cada
proceso puede tener un espacio lgico de 4 segmentos como mximo y 512 pginas de
primer nivel. Los espacios de direcciones lgicas de este sistema son de 32Gbytes y el
tamao de pgina es de 4Kbytes. El espacio de direcciones fsicas que puede tener hasta
4Gb.
Describa la estructura de las direcciones lgicas y de las direcciones fsicas de este sistema
de memoria virtual, indicando el nmero de bits de cada uno de los campos que en ellas
aparecen.
SOLUCIN:
Direccin lgica
(seg=2 bits, p1=9 bits, p2=12 bits, des=12 bits)
Direccin fsica
(mar=20 bits, des=12 bits)
14
Cuestiones
Problemas:
Asignacin contigua
1.
P1
(256K)
libre
(512K)
P2
(16K)
libre
(96K)
P3
(32K)
Se utiliza la tcnica del mejor ajuste. En la cola de trabajos pendientes tenemos dos
proceso P4 (416K) y P5(128K), si nada ms cargarse en memoria dichos procesos hay una
solicitud para acceder a las direcciones (P4, 1500) y (P5, 300) respectivamente Indique
cuales seran las direcciones fsicas generadas por la MMU
SOLUCIN:
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.
libre
(400K)
P2
(300K)
libre
(300K)
P3
libre
(180K) (200K)
Se utiliza la tcnica 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 ningn proceso y tras intentar cargar en memoria todos
los procesos que estn en la cola...
a) Indicar si queda algn 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
tamao son.
15
Problemas
SOLUCIN:
a) S, queda uno; el proceso P6
b) Quedan tres particiones de tamao 200K, 100K y 200K
3.
P1
(180K)
libre
(400K)
P2
(100K)
libre
(150K)
984K
P3
(75K)
Se utiliza la tcnica 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 ningn proceso y tras intentar cargar en memoria todos
los procesos que estn en la cola.
a) Indicar cuntas particiones quedan libres y de qu tamao son.
b) Si en esta situacin se aplica compactacin, indicar qu proceso o
procesos deberan moverse para que el nmero 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 cmo han cambiado los registros base
correspondientes al proceso o procesos que se han movido debido a
la compactacin.
SOLUCIN:
a) Quedan dos particiones de tamaos 120K y 30K respectivamente
b) Debera moverse el proceso P4 al hueco de 120K
c) Todos quedan igual, salvo B4 que queda (B4-220K)
4.
P1
(180K)
libre
(400K)
P2
(100K)
libre
(150K)
P3
(90K)
1200K
Libre
(200K)
16