Sei sulla pagina 1di 10

7.

1Supngase que la tabla de pginas del proceso que est ejecutndose actualmente en
el procesador es como la siguiente. Todos los nmeros son decimales, todos estn
numerados empezando en el cero y todas las direcciones son de bytes de memoria. El
tamao de pgina es de 1024 bytes.

a) Describir exactamente cmo se traduce en general una direccin virtual


generada por la CPU a una direccin fsica de memoria principal.

Dividir direccin binaria en el nmero de pgina virtual y desplazamiento ; VPN utilizar como ndice en
tabla de pginas ; extraer la pgina nmero de cuadro ; concatenar compensado para conseguir fsico
direccin de memoria

b) Qu direccin fsica, si la hay, se correspondera con cada una de las siguientes direcciones
virtuales? (No debe intentarse manejar los fallos de pgina, si los hay).

(i) 1052
(ii) 2221
(iii) 5499
(i) 1052 = 1024 + 28 mapas a VPN 1 en PFN 7, (7 1024+28 = 7196)
(ii) 2221 = 2 1024 + 173 mapas de VPN 2 , error de pgina
(iii) 5499 = 5 1024 + 379 mapas a VPN 5 en PFN 0, (0 1024+379 = 379)

7.2 Un proceso tiene asignados 4 marcos de pgina. (Todos los nmeros siguientes son decimales
y todos estn numerados empezando por cero). A continuacin se muestra el instante de la ltima
carga de pginas en cada marco de memoria, el instante del ltimo acceso a la pgina en cada
marco, el de cada marco y los bits de referencia (R) y modificacin (M) (los instantes se dan en
pulsos de reloj del procesador desde el instante O hasta el suceso, no el nmero de pulsos desde
el suceso hasta el instante actual).

Se ha producido un fallo en la pgina virtual 4. Qu marco reemplazar su contenido para cada


una de las siguientes polticas de gestin de memoria? Expliqese por qu en cada caso.
a) FIFO (primera en entrar, primera en salir).
Se remplaza por PFN 3er marco, ya cargado hace ms largo en el tiempo 60
b) LRU (usada hace ms tiempo).
PFN 1er marco, hace referencia ms largo en el tiempo 160

c) NRU (no usada recientemente). (Si se necesita saber como surge esta configuracin en
particular, hay que emplear los bits R y M de un modo razonable: todos los bits de referencia
se borraron inmediatamente despus del pulso de reloj 161).
R en PFN 3 (antigua cargado),
R en PFN 2 (al lado ms antiguo cargado),
Vctima PFN es 0 ya que R = 0

d) Reloj.
Reemplazar la pgina en PFN 3 desde ms lejos VPN 3 ( en PFN 3 ) se utiliza en el futuro

e) MIN ptimo de Belady (Emplear la cadena de referencias situada debajo).

f) Dado el estado de memoria anterior, inmediatamente antes del fallo de pgina, considrese la
siguiente cadena de referencias a pginas virtuales:
4,0,0,0,2,4,2,1,0,3,2
Cuntos fallos de pgina se producirn si se emplea la poltica de conjunto de trabajo con un
tamao de ventana de cuatro en vez de con asignacin fija? Mustrese claramente cundo se
produce cada fallo de pgina.
Hay 6 faltas, indicados por

PROBLEMA 7.3
Un proceso hace referencia a cinco pginas A, B, C, D y E, en el siguiente orden:
A, B, C ,D A, B, E, A, B, C, D, E
Supngase que el algoritmo de reemplazo es el de primera en entrar / primera en salir y
determnese el nmero de transferencias de pginas durante esta secuencia de referencias,
comenzando con la memoria principal vaca con 3 y 4 marcos de pgina.
Solucin:
Para Tres marcos:
A

A
B

A
B
C

D
B
C
F

D
A
C
F

D
A
B
F

E
A
B
F

E
A
B

E
A
B

E
C
B
F

E
C
D
F

E
C
D

D
A
B
C

A
A
B
C

B
A
B
C

E
E
B
C

A
E
A
C

B
E
A
B

C
E
A
B

D
D
A
B

E
D
E
B

----- rta: Tiene 6 fallos

Para 4 marcos:
A
A

B
A
B

C
A
B
C

----- rta: Tiene 6 fallos

Los algoritmos pueden ser diseados para explotar el principio de localidad para evitar la derrota.
En general, el principio de localidad permite que el algoritmo para predecir que resistente paginas
son menos propensos a ser referencia en el futuro cercano, por lo que son buenos candidatos para
ser cambiados.

PROBLEMA 7.3
El Sistema RISC/6000 de IBM emplea el siguiente formato de direcciones virtuales:
Para acceder a la tabla de pginas, se calcula un valor de dispersin a partir realizando un XOR
de los campos Identificador de segmento y nmero de pgina. Qu efectividad se puede
suponer que ofrece el algoritmo para generar una tabla de dispersin con un encadenamiento
mnimo?
Solucin:
Las efectividades que ofrece el algoritmo para generar una tabla de dispersin con un
encadenamiento mnimo son:
Nmero de cuadro: El nmero secuencial que identifica a una pgina en la memoria principal.
Presente poco: Indica si esta pgina est actualmente en la memoria principal.
Modificar bits: Indica si esta pgina ha sido modificado desde que fue puesto en principal
memoria.

7.9 Otro algoritmo de ubicacin para particiones dinmicas se conoce como el del peor ajuste. En
este caso, el bloque de memoria ms grande que est libre se usa para cargar el proceso. Discutir
los pros y los contras de este mtodo, comparado con el del mejor ajuste, el del primer ajuste y el
del siguiente ajuste. Cul es la longitud media de la bsqueda para el peor ajuste?

Peor ajuste Asigna el hueco ms grande. Una vez ms, se debe de buscar en toda la tabla de
huecos a menos que est organizada por tamao. Esta estrategia produce los huecos de sobra ms
grandes, los cuales pudieran ser de ms uso si llegan procesos de tamao mediano que quepan en
ellos y tanto el primer y el mejor ajuste son mejores que el peor ajuste en cuanto a minimizar
tanto el tiempo del almacenamiento. Ni el primer o el mejor ajuste es claramente el mejor en
trminos de uso de espacio, pero por lo general el primer ajuste es ms rpido.
7.10 El mtodo de segmentacin empleado en el Sistema/370 parece carecer de muchas de las
ventajas potenciales de la segmentacin. De qu ventajas carece?

La paginacin, que es transparente al programador, elimina la fragmentacin externa y, de este


modo, aprovecha la memoria principal de forma eficiente. Adems, puesto que los fragmentos
que se cargan y descargan de memoria principal son de tamao constante e igual para todos, es
posible construir algoritmos de gestin de memoria sofisticados que aprovechen mejor el
comportamiento de los programas, tal y como se ver. La segmentacin, que es visible para el
programador, tiene las ventajas antes citadas, incluida la capacidad de manejar estructuras de
datos que puedan crecer, la modularidad y el soporte de la comparticin y la proteccin. Para
combinar las ventajas de ambas, algunos sistemas estn equipados con hardware del procesador y
software del sistema operativo que las permiten

Cul es el mayor beneficio de la segmentacin del 370?


El Sistema/370 de IBM emplea una estructura de memoria a dos niveles y se refiere a estos dos
niveles como segmentos y pginas, si bien el mtodo de segmentacin carece de muchas de las
caractersticas descritas anteriormente en este captulo. En la arquitectura 370 bsica, el tamao
de pgina puede ser de 2KB o 4KB y el tamao del segmento es fijo, de 64KB o 1MB

7.13) Una clave del rendimiento de la poltica VSWS de gestin del conjunto residente es el
valor de Q. Algunos experimentos han demostrado que, con un valor fijo de Q para un
proceso, existen diferencias considerables en la frecuencia de fallos de pgina para distintas
etapas de la ejecucin. Es ms, si se usa un nico valor de Q para procesos diferentes, se
obtienen diferencias drsticas en la frecuencia de fallos de pgina. Estas diferencias indican
que un mecanismo que ajustara dinmicamente el valor de Q durante la vida de un proceso
podra mejorar el comportamiento del algoritmo. Proponer un mecanismo sencillo con tal
propsito.

Solucin:
[PIZZ89] sugiere la siguiente estrategia. Utilice un mecanismo que ajusta el valor de Q en cada
ventana de tiempo como una funcin de la tasa de error de pgina real experimentado durante la
ventana. La tasa de error de pgina es calculada y comparada con un valor de todo el sistema de
tasa de error de pgina "deseable para un trabajo. El valor de Q se ajusta hacia arriba (abajo)
cada vez que el real pgina tasa de falla de un puesto de trabajo es mayor (menor) que el valor
deseable. Experimentacin el uso de este mecanismo de ajuste mostr que la ejecucin de los
trabajos de ensayo con ajuste dinmico de Q producido consistentemente un menor nmero de
errores de pgina por ejecucin y un tamao del conjunto residente promedio de disminucin de
la ejecucin con un valor constante de Q (dentro de una gama muy amplia). El producto de tiempo
de memoria (MT) frente a Q utilizando el mecanismo de ajuste tambin produjo una mejora
considerable consistente durante los resultados de las pruebas anteriores usando un valor
constante de P.

7.14) Obtener la frmula del encadenamiento separado de la tabla 7.7


Tabla 7.7:

SOLUCION:

Segmento
:
0

1
2
3

00021ABC
7
Paginas
descriptoras
de las tablas

Memoria

a. 8 2K = 16K
b. 16K 4 = 64K
c. 232 = 4 GBytes
DIRECCION LOGICA:
(2)

SEGMENTO

(3)

(11)

Offset

PAGINA

2BC

0 002 1ABC

00000000000001000001101010111100

Desplazamiento de 21 bits de referencia de marco de pgina (11 bits)

(en este caso, de marco de pgina = 67)

7.15 Cuando se implement la memoria virtual por primera vez, las memorias principales eran
muy pequeas en comparacin con las actuales y las aplicaciones eran, con frecuencia, mayores
que la memoria principal. La tecnologa de memoria ha cambiado drsticamente es de entonces,
siendo comunes los sistemas de varios megabytes en los computadores personales. A medida
que el tamao de la memoria principal crezca en un rango de gigabytes en un futuro no muy
distante, sin que los tiempos de acceso al disco muestren un incremento similar, seguir siendo
la memoria virtual un esquema viable de gestin de memoria? Expngase por qu o por qu no.
No, porque basndonos en el tamao de la memoria principal, la memoria virtual permite que un
proceso sea ms grande que toda la memoria principal y multiprogramacin muy efectiva pues si
en un futuro la memoria principal se incrementara, diramos que ya podremos mantener ms
procesos en memoria principal, y evitaramos los posibles :

Fallos de direccionamiento:
Interrupciones, indica fallo de acceso a memoria
Bloqueo de procesos
Que el SO emite solicitud de E/S al disco
Que el SO expide otro proceso para que se ejecute
Tras traer fragmento a memoria, interrupcin de E/S, control al SO, que pasa el proceso a
listo.
Que el SO ms tiempo intercambiando fragmentos que ejecutando (ejemplo: si saca de
memoria un fragmento que se iba a usar ya)
7.16 Exponer los requisitos de soporte de hardware para la estructura de tabla de pginas inversa.
Cmo afecta este mtodo a la comparticin?

En una arquitectura de 64 bits, las tablas de pginas pueden ser enormes:

Con pginas de 4 KB tablas de 252 entradas !!


Si pginas muy grandes demasiada fragmentacin interna
Si cada entrada 8 bytes (64 bits) 32 Petabytes para la tabla de pginas !!
Tablas de pginas multinivel demasiado complejas por la gran cantidad de niveles
necesarios
Solucin: tabla de pginas invertida

Pero existe un problema; la traduccion de direcciones virtuales a fisicas es mucho mas dificil. cada
vez que un proceso n referencia a su pgina p, hay que buscar una entrada (n, p) en toda la
tabla invertida para averiguar el marco, una solucion a esto seria el TLB.
Memoria asociativa/TLB (translation lookaside buffer)

Dispositivo hardware que traduce direcciones virtuales a fsicas sin acceder a la tabla de
pginas
o Est en el interior de la MMU
o Consiste en un nmero pequeo de entradas (casi nunca ms de 64)
o Cada entrada contiene informacin sobre una pgina:
N de pgina
Bit de modificado
Bit de proteccin
N de marco de pgina
Bit de validez