Está en la página 1de 13

7.

1Supóngase que la tabla de páginas del proceso que está ejecutándose


actualmente en el procesador es como la siguiente. Todos los números son decimales,
todos están numerados empezando en el cero y todas las direcciones son de bytes de
memoria. El tamaño de página es de 1024 bytes.

a) Describir exactamente cómo se traduce en general una dirección virtual generada por la
CPU a una dirección física de memoria principal.

Dividir dirección binaria en el número de página virtual y desplazamiento ; VPN utilizar como índice en
tabla de páginas ; extraer la página número de cuadro ; concatenar compensado para conseguir físico
dirección de memoria

b) ¿Qué dirección física, si la hay, se correspondería con cada una de las siguientes direcciones
virtuales? (No debe intentarse manejar los fallos de página, 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 página
(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 página. (Todos los números siguientes son
decimales y todos están numerados empezando por cero). A continuación se muestra el instante
de la última carga de páginas en cada marco de memoria, el instante del último acceso a la
página en cada marco, el de cada marco y los bits de referencia (R) y modificación (M) (los
instantes se dan en pulsos de reloj del procesador desde el instante O hasta el suceso, no el
número de pulsos desde el suceso hasta el instante actual).
Se ha producido un fallo en la página virtual 4. ¿Qué marco reemplazará su contenido para cada
una de las siguientes políticas de gestión de memoria? Expliqúese por qué en cada caso.

a) FIFO (primera en entrar, primera en salir).


Se remplaza por PFN 3er marco, ya cargado hace más largo en el tiempo 60

b) LRU (usada hace más tiempo).


PFN 1er marco, hace referencia más largo en el tiempo 160

c) NRU (no usada recientemente). (Si se necesita saber como surge esta configuración en
particular, hay que emplear los bits R y M de un modo razonable: todos los bits de
referencia se borraron inmediatamente después del pulso de reloj 161).
R en PFN 3 (antigua cargado),
R en PFN 2 (al lado más antiguo cargado),
Víctima PFN es 0 ya que R = 0

d) Reloj.

Reemplazar la página en PFN 3 desde más 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 página,


considérese la siguiente cadena de referencias a páginas virtuales:
4,0,0,0,2,4,2,1,0,3,2
¿Cuántos fallos de página se producirán si se emplea la política de conjunto de trabajo con un
tamaño de ventana de cuatro en vez de con asignación fija? Muéstrese claramente cuándo se
produce cada fallo de página.

Hay 6 faltas, indicados por


7.3 ) Un proceso hace referencia a cinco páginas A, B, C, D y E, en el siguiente orden:

A, B, C ,D A, B, E, A, B, C, D, E
Supóngase que el algoritmo de reemplazo es el de primera en entrar / primera en salir y
determínese el número de transferencias de páginas durante esta secuencia de referencias,
comenzando con la memoria principal vacía con 3 y 4 marcos de página.
Solución:

Para Tres marcos:

A B C D A B E A B C D E
A A A D D D E E E E E E
B B B A A A A A C C C
C C C B B B B B D D
F F F F F F

----- rta: Tiene 6 fallos

Para 4 marcos:

A B C D A B E A B C D E
A A A A A A E E E E D D
B B B B B B A A A A E
C C C C C C B B B B
D D D D D D C C C
F F F F F F

----- rta: Tiene 6 fallos

Los algoritmos pueden ser diseñados 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.
7.4) El Sistema RISC/6000 de IBM emplea el siguiente formato de direcciones virtuales:

Para acceder a la tabla de páginas, se calcula un valor de dispersión a partir realizando un XOR
de los campos Identificador de segmento y número de página. ¿Qué efectividad se puede
suponer que ofrece el algoritmo para generar una tabla de dispersión con un encadenamiento
mínimo?

Solución:

Las efectividades que ofrece el algoritmo para generar una tabla de dispersión con un
encadenamiento mínimo son:

Número de cuadro: El número secuencial que identifica a una página en la memoria principal.

Presente poco: Indica si esta página está actualmente en la memoria principal.

Modificar bits: Indica si esta página ha sido modificado desde que fue puesto en principal
memoria.

7.5: Construir un diagrama similar al de la figura 7.8 que muestre el funcionamiento conjunto de
segmentación, paginación, buffer de traducción adelantada y cache.

Las direcciones generadas por la CPU se dividen en:


 Número de página (p)- utilizado en la tabla de páginas que contiene las
direcciones base de cada página en la memoria física.
 El desplazamiento de página (d)- Combinado con la dirección base definen la
dirección de memoria física que es enviada a la unidad de memoria.
 Traducción: proceso referencia (p,d), se busca en la tabla de correspondencia de
páginas para ver la p’ (p real), La dirección real es p’+d. Por agilidad tabla de
correspondencia en caché.
 Si no hay residencia de la página en memoria principal, sucede una falta de
página. r= 0 si página no está en real, 1 si esta
7.6 En el VAX, las tablas de páginas de usuario se encuentran en direcciones virtuales del espacio
del sistema. ¿Cuál es la ventaja de tener las tablas de páginas de usuario en memoria virtual en
lugar de en memoria principal? ¿Cuál es la desventaja?

Ventajas:

 Un método representativo es el del VAX/VMS. Emplea una estrategia de asignación


variable y reemplazo local.
 El algoritmo de reemplazo de páginas es simplemente un FIFO. Para mejorar el
rendimiento, no se pierde la pista de la página reemplazada, sino que se asigna a una de
las dos listas siguientes:
o la lista de páginas libres, si la página no ha sido modificada o
o la lista de páginas modificadas, si lo ha sido.
 Lo importante de estas operaciones es que la página a reemplazar permanece en
memoria. Así pues, si el proceso hace referencia a dicha página, se devuelve al conjunto
residente del proceso con un coste pequeño. En realidad, las listas de páginas libres y
modificadas actúan como una cache de páginas. La lista de páginas modificadas tiene otra
función provechosa: Las páginas modificadas son reescritas por bloques, en vez de una a
una.
 Esto reduce significativamente el número de operaciones de E/S y, por tanto, la cantidad
de tiempo de acceso a disco.

Desventajas:

 Las desventajas de esta solución son dos:


o Si la asignación tiende a ser demasiado pequeña, se producirá un alto porcentaje
de fallos de página, haciendo que el sistema multiprogramado al completo
funcione lentamente.
o Si la asignación tiende a ser innecesariamente grande, habrá muy pocos
programas en memoria principal y el procesador estará desocupado un tiempo
considerable o bien se consumirá un tiempo importante en intercambio.

PREGUNTA 7

La política de reemplazo de páginas se encarga de seleccionar la página a reemplazar entre las que
están actualmente en la memoria.

La gestión del conjunto residente es lo contrario, decide cuales páginas se van a cargar en la
memoria principal.
PREGUNTA 8

Desde cada entrada de la tabla de páginas es de 4 bytes y cada página contiene 4 Kbytes, a
continuación, una página tabla de páginas apuntaría a 1024 = 210 páginas, frente a un total de
210 * 212 = 222 bytes.

El espacio de direcciones es de 264 bytes sin embargo. La adición de una segunda capa de la
página tablas, la tabla de páginas superior apuntarían a 210 tablas de páginas, frente a un total de
232 bytes.

Continuando con este proceso, Depth_Address Space__1_222 bytes__2_232

bytes__3_242 bytes__4_252 bytes__5_262 bytes__6_262 bytes (≥ 264 bytes) __ nosotros


podemos ver que 5 niveles no ocupan todo el espacio de direcciones de 64 bits, por lo que un
sexto nivel es requerido.

Pero sólo se requieren 2 bits del sexto nivel, no los enteros de 10 bits. Así que en lugar de exigir a
sus direcciones virtuales de 72 bits de longitud, se puede enmascarar y

ignorar todos menos los 2 bits de orden más bajos del sexto nivel. Esto le daría un poco de 64 en
dirección. Su superficie de la mesa página, el nivel entonces tendría sólo 4 entradas. Sin embargo,
otra opción es revisar los criterios que la tabla de páginas de nivel superior cabe en una sola física
y en lugar de la página que se ajuste en 4 páginas. Esto ahorraría una página física, que No es
mucho.
7.9 Otro algoritmo de ubicación para particiones dinámicas se conoce como el del peor ajuste.
En este caso, el bloque de memoria más grande que esté libre se usa para cargar el proceso.
Discutir los pros y los contras de este método, comparado con el del mejor ajuste, el del primer
ajuste y el del siguiente ajuste. ¿Cuál es la longitud media de la búsqueda para el peor ajuste?

Peor ajuste Asigna el hueco más grande. Una vez más, se debe de buscar en toda la tabla de
huecos a menos que esté organizada por tamaño. Esta estrategia produce los huecos de sobra más
grandes, los cuales pudieran ser de más uso si llegan procesos de tamaño 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
términos de uso de espacio, pero por lo general el primer ajuste es más rápido.

7.10 El método de segmentación empleado en el Sistema/370 parece carecer de muchas de las


ventajas potenciales de la segmentación. ¿De qué ventajas carece?

La paginación, que es transparente al programador, elimina la fragmentación externa y, de este


modo, aprovecha la memoria principal de forma eficiente. Además, puesto que los fragmentos
que se cargan y descargan de memoria principal son de tamaño constante e igual para todos, es
posible construir algoritmos de gestión de memoria sofisticados que aprovechen mejor el
comportamiento de los programas, tal y como se verá. La segmentación, 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 compartición y la protección. Para
combinar las ventajas de ambas, algunos sistemas están equipados con hardware del procesador y
software del sistema operativo que las permiten
¿Cuál es el mayor beneficio de la segmentación 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 páginas, si bien el método de segmentación carece de muchas de las
características descritas anteriormente en este capítulo. En la arquitectura 370 básica, el tamaño
de página puede ser de 2KB o 4KB y el tamaño del segmento es fijo, de 64KB o 1MB

7.13) Una clave del rendimiento de la política VSWS de gestión 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 página para distintas
etapas de la ejecución. Es más, si se usa un único valor de Q para procesos diferentes, se
obtienen diferencias drásticas en la frecuencia de fallos de página. Estas diferencias indican
que un mecanismo que ajustara dinámicamente el valor de Q durante la vida de un proceso
podría mejorar el comportamiento del algoritmo. Proponer un mecanismo sencillo con tal
propósito.

Solución:

[PIZZ89] sugiere la siguiente estrategia. Utilice un mecanismo que ajusta el valor de Q en cada
ventana de tiempo como una función de la tasa de error de página real experimentado durante la
ventana. La tasa de error de página es calculada y comparada con un valor de todo el sistema de
tasa de error de página "deseable “para un trabajo. El valor de Q se ajusta hacia arriba (abajo)
cada vez que el real página tasa de falla de un puesto de trabajo es mayor (menor) que el valor
deseable. Experimentación el uso de este mecanismo de ajuste mostró que la ejecución de los
trabajos de ensayo con ajuste dinámico de Q producido consistentemente un menor número de
errores de página por ejecución y un tamaño del conjunto residente promedio de disminución de
la ejecución 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 también produjo una mejora
considerable consistente durante los resultados de las pruebas anteriores usando un valor
constante de P.

7.14) Obtener la fórmula del encadenamiento separado de la tabla 7.7

Tabla 7.7:
SOLUCION:

232 𝑀𝑒𝑚𝑜𝑟𝑖𝑎
= 211 𝑀𝑎𝑟𝑐𝑜𝑠 𝑑𝑒 𝑝á𝑔𝑖𝑛𝑎𝑠
211 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒 𝑝𝑎𝑔𝑖𝑛𝑎

Segmento
:
0
0

3
00021ABC

Paginas
descriptoras
de las tablas

Memoria
a. 8 × 2K = 16K
b. 16K × 4 = 64K
c. 232 = 4 GBytes

DIRECCION LOGICA:

(2) (3) (11)

SEGMENTO PAGINA Offset

X y 2BC

0 002 1ABC

00000000000001000001101010111100

Desplazamiento de 21 bits de referencia de marco de página (11 bits)


(en este caso, de marco de página = 67)

7.15 Cuando se implementó la memoria virtual por primera vez, las memorias principales eran
muy pequeñas en comparación con las actuales y las aplicaciones eran, con frecuencia, mayores
que la memoria principal. La tecnología de memoria ha cambiado drásticamente es de entonces,
siendo comunes los sistemas de varios megabytes en los computadores personales. A medida
que el tamaño 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 gestión de memoria? Expóngase por qué o por qué no.

No, porque basándonos en el tamaño de la memoria principal, la memoria virtual permite que un
proceso sea más grande que toda la memoria principal y multiprogramación muy efectiva pues si
en un futuro la memoria principal se incrementara, diríamos que ya podremos mantener más
procesos en memoria principal, y evitaríamos 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, interrupción de E/S, control al SO, que pasa el proceso a
listo.
 Que el SO más 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 páginas
inversa. ¿Cómo afecta este método a la compartición?

En una arquitectura de 64 bits, las tablas de páginas pueden ser enormes:

 Con páginas de 4 KB ⇒ ¡¡ tablas de 252 entradas !!


 Si páginas muy grandes ⇒ demasiada fragmentación interna
 Si cada entrada 8 bytes (64 bits) ⇒ ¡¡ 32 Petabytes para la tabla de páginas !!
 Tablas de páginas multinivel demasiado complejas por la gran cantidad de niveles
necesarios
 Solución: tabla de páginas invertida
Pero existe un problema; la traducción de direcciones virtuales a físicas es mucho más difícil. cada
vez que un proceso “n” referencia a su página “p”, hay que buscar una entrada “(n, p)” en toda la
tabla invertida para averiguar el marco, una solución a esto sería el TLB.

Memoria asociativa /TLB (translation lookaside buffer)

 Dispositivo hardware que traduce direcciones virtuales a físicas sin acceder a la tabla de
páginas
o Está en el interior de la MMU
o Consiste en un número pequeño de entradas (casi nunca más de 64)
o Cada entrada contiene información sobre una página:
 Nº de página
 Bit de modificado
 Bit de protección
 Nº de marco de página
 Bit de validez

También podría gustarte