TEMA 5: GESTIÓN DE MEMORIA

Anuncio
TEMA 5: GESTIÓN DE MEMORIA
RELACIÓN DE EJERCICIOS
1. Si trabajamos con un sistema de tiempo compartido que utiliza swapping y la gestión de memoria se realiza
usando los registros base y longitud, ¿tiene sentido guardar la dirección base cuando se realiza un cambio de
contexto?. ¿Y cuando el proceso se intercambia a disco?
2. Si usamos memoria virtual, ¿los procesos se almacenan con direcciones absolutas o relativas?
3. ¿Por qué la transformación de direcciones virtuales en direcciones físicas se realiza a nivel de hardware?
4. ¿Se podría construir un sistema cuya memoria virtual se formara de la forma siguiente? Justificar
brevemente.
Memoria virtual = Área de swap + Memoria física
5. ¿Qué ventajas posee la política de carga de páginas por demanda frente a la anticipatoria?
6. ¿Qué ocurre si no se tiene todo el conjunto de trabajo de un proceso en el almacenamiento principal?
7. ¿Puede un sistema paginado con política de carga de páginas por demanda funcionar junto con la técnica de
swapping? Justificar brevemente.
8. Calcular el tamaño de la tabla de páginas de un sistema paginado con una memoria virtual de 1 MB, una
memoria física de 128 KB y un tamaño de página de 512 B. Razonar brevemente la respuesta.
9. Obtener las direcciones físicas donde se encuentran cargadas las siguientes direcciones lógicas asociadas a un
proceso cuya tabla de páginas es:
Número de página
0
1
2
3
4
Bit de presencia/ausencia
0
1
0
0
1
Número de página física
X
1
X
X
3
Tamaño de la página: 512 B
Direcciones lógicas: 512, 876, 1509, 2500
10. Considerar un sistema paginado con un tamaño de página de 200 direcciones y que dispone de tres páginas
físicas. Considerar el siguiente vector bidimensional A:
var A: array [1..100,1..100] of integer;
donde A[1,1] se encuentra en la dirección virtual 200, A[1,2] en la 201, ... En la página virtual 0 (direcciones
virtuales 0..199) se encuentra un pequeño programa para manipular la matriz. Usando el algoritmo de
reemplazamiento LRU, y suponiendo que la página 0 está cargada en memoria física y las otras dos están
inicialmente vacías, indicar cuántas faltas de página son generadas por los siguientes bucles de inicialización
pertenecientes al programa. Justificar la respuesta. Suponer que un número entero ocupa una dirección de
memoria.
a) For j := 1 to 100 do
For i := 1 to 100 do
A[i,j] := 0;
b) For i := 1 to 100 do
For j := 1 to 100 do
A[i,j] := 0;
11. Considérese un sistema paginado bajo demanda con tamaño de página de 100 direcciones, espacio de
direcciones virtuales de 1000 direcciones y tamaño de la memoria central de 300 direcciones. La secuencia
de referencias a memoria de un proceso es la que se muestra en la figura. La columna “Pulso de reloj” nos
indica el momento en que se ha hecho referencia a una dirección de memoria y la columna “Escritura” nos
indica si se va a escribir o no en dicha dirección de memoria referenciada.
Pulso de reloj
2
5
13
15
19
23
25
26
30
Dirección referenciada
425
570
200
198
426
353
512
427
380
Escritura
no
si
no
no
si
si
no
no
si
Considerando que cada 4 pulsos de reloj se limpia (se pone a 0) el bit R (Referenciado) de todas las páginas
que se encuentren actualmente en memoria principal (comenzando por el pulso 0, 4, 8, ...), determinar:
a) qué páginas reemplazarán los algoritmos NRU, FIFO y LRU.
b) en general, en qué situaciones el algoritmo NRU sustituye una página distinta que el LRU. Indicar un
caso en esta planeación.
Razonar brevemente las respuestas.
12. Considérese un sistema paginado, con espacio de direcciones virtuales de 64 KB, tamaño de la memoria
central de 8 KB y páginas de 512 direcciones. En un instante de tiempo dado, el estado de la tabla de páginas
del proceso en ejecución es el indicado a continuación:
0100
0011
1010
1001
0111
1010
1000
1100
0001
1011
1010
0111
0010
1
0
1
1
1
0
1
0
0
0
0
0
0
• Explicar con todo detalle el funcionamiento interno de la unidad de gestión de memoria (MMU). Para
ello, calcúlese la dirección física donde está cargada la dirección virtual 1546, representando su valor en
notaciones decimal y binaria.
• Calcular las direcciones físicas donde están cargadas las direcciones virtuales 210 y 3000.
13. Supóngase que se tiene una computadora que usa una MMU segmentada, con números de proceso de 3 bits,
espacios de direcciones virtuales de 8 MB, páginas de 4 KB y segmentos de 32 KB. ¿Cuántas palabras
ocupan los punteros de página si el tamaño del segmento se cambia a 64 KB, sin cambiar los otros
parámetros (es decir, menos segmentos pero más grandes)?, ¿cómo afecta este cambio al número de punteros
de página necesarios?
14. Una computadora tiene 4 páginas físicas. Los tiempos en que se cargaron, el último acceso, y los bits R y M
para cada página son (los tiempos se indican en ticks de reloj):
Página
0
1
2
3
Cargada
126
230
120
160
Última referencia
279
260
272
280
R
0
1
1
1
M
0
0
1
1
¿Qué página reemplazarán los algoritmos NRU, FIFO, LRU y la segunda oportunidad?
15. Una pequeña computadora tiene 4 páginas físicas. En el primer tick de reloj, los bits R son 0111 (página 0 es
0, y el resto 1). En los siguientes ticks de reloj, los valores son 1011, 1010, 1101, 0010, 1010, 1100, y 0001. Si se
está usando el algoritmo de envejecimiento con un contador de 8 bits, dar los valores de los cuatro contadores
tras el último tick de reloj.
Descargar