Trabajo Del Capitulo 7
Trabajo Del Capitulo 7
Trabajo Del Capitulo 7
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.
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
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:
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
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
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.
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.
Ventajas:
Desventajas:
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.
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.
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.
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:
X y 2BC
0 002 1ABC
00000000000001000001101010111100
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?
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