sábado, 5 de julio de 2008

Tarea # 4

7.2 Por qué es deseable la capacidad para reubicar procesos?

R. Es deseable porque para cuando se haya descargado un programa en el disco y se quiera cargar nuevamente, no ocurra el problema de situarlo en la misma región de la memoria principal que antes


7.3 Por qué no es posible forzar la protección de la memoria en tiempo de compilación?

R. Es imposible comprobar las direcciones absolutas durante la compilación para asegurar la protección, puesto que se desconoce la ubicación de un programa en la memoria principal.


7.4 Qué razones existen para permitir que dos o mas procesos acceden a una misma región de la memoria?

R. Cualquier mecanismo de protección que se implemente debe tener la flexibilidad de permitir el acceso de varios procesos a la misma zona de la memoria principal, porque por ejemplo es más factible permitir a cada proceso que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte. Por eso se le permite un acceso controlado a las áreas compartidas de la memoria.


7.5 En un esquema de particionamiento fijo, ¿Cuáles son las ventajas de utilizar particiones de distinto tamaño?

R. La ventaja es que los procesos están siempre asignados de forma que se minimiza la memoria desaprovechada dentro de cada partición. También proporciona cierto grado de flexibilidad a las particiones estáticas. Además, ambos tipos de esquema de partición estática son relativamente simples y exigen un software del sistema operativo y una sobrecarga de procesamiento mínimos.

7.6 Cuál es la diferencia entre la fragmentación interna y la externa

R. La diferencia es que la fragmentación externa se produce cuando la memoria se divide en particiones de tamaño variable correspondientes a los bloques de datos asignados de la memoria; y la fragmentación interna se da cuando la memoria se divide en particiones de tamaño fijo.


7.7 Cuáles son las diferencias entre direcciones lógicas, relativas y físicas

R. Una dirección lógica es una referencia a una posición de memoria independiente de la asignación actual de datos a la memoria.
Una dirección relativa es un caso particular de dirección lógica, en el cual la dirección de memoria se expresa como una posición relativa a algún punto conocido, normalmente el principio del programa.
Una dirección física o dirección absoluta, es una posición real en la memoria principal.


7.8 Cuál es la diferencia entre una página y un marco de página


R. Una página es un bloque de longitud fija que dispone de una dirección virtual y que se transfiere como una unidad entre la memoria principal y la memoria secundaria (en el almacenamiento virtual).
Mientras que el marco de página es un bloque de memoria principal contiguo y de longitud fija que se usa para contener una página.

7.9 Cuál es la diferencia entre página y segmento

R. Una página es un bloque de longitud fija que dispone de una dirección virtual (en el almacenamiento virtual).
Mientras que el segmento de un bloque que tiene una dirección virtual, en la memoria virtual, pero dichos bloques pueden ser de longitud desigual y longitud variable dinámicamente.

8.1 ¿Cuál es la diferencia entre paginación sencilla y paginación con memoria virtual?

R. La diferencia es que en la paginación simple, todas las páginas de un proceso tienen que estar en la memoria principal para que el proceso se ejecute, a menos que se use superposición; y en la paginación con memoria virtual, no lo necesitan estar todas (las páginas se pueden leer cuando se necesiten).

8.2 Explique el trasiego o thrashing?

R. El trasiego es un fenómeno de los esquemas de memoria virtual en el que el procesador pasa la mayor parte del tiempo intercambiando trozos de memoria en vez de ejecutar instrucciones. Las formas de evitar el trasiego fueron unas de las áreas de investigación más importantes de los años 70 y llevaron a un buen número de algoritmos complejos pero efectivos. En esencia, el sistema operativo intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo.

8.3 ¿Por qué es el principio de proximidad de referencia es crucial para el uso de la memoria virtual?

R. Ya que la referencia de los datos y al programa dentro de un proceso tienden a agruparse.

8.4 ¿Qué elementos se encuentran típicamente en la entrada de tabla de páginas? Define brevemente cada elemento

R. Los elementos son:

Número de marco de página: Se refiere a un marco en la memoria principal.

Edad: Indica cuánto tiempo ha estado la página en la memoria sin ser referenciada. La longitud y el contenido de este campo son dependientes del procesador.

Copia en escritura: Activo cuando más de un proceso comparte la página. Si uno de los procesos escribe en la página, antes debe hacerse una copia de la página para todos los demás procesos que la comparten. Esta característica permite aplazar la operación de ocpia hasta que sea necesario y evitarla en caso de que no lo sea.

Modificación: Indica que la página ha sido modificada.

Referencia: Indica que la página ha sido referenciada. Este bit se pone a cero cuando la página se carga por primera vez y puede ser restaurado periódicamente por el algoritmo de reemplazo de página.

Validez: Indica que la página está en la memoria principal.

Protección: Indica si está permitida la operación de escritura.


8.5 ¿Cuál es el propósito de la TLB?

R. El buffer de traducción adelantada se usa para evitar que en un esquema sencillo de memoria virtual exista el efecto de doblar el tiempo de acceso a la memoria, uno para obtener la entrada de la tabla de páginas correspondiente y otro para obtener el dato deseado.

8.6 Defina brevemente las alternativas para la política de recuperación?

R. Las dos alternativas más comunes son:
Paginación por demanda: Consiste en la transferencia de una página de memoria secundaria hacia la memoria principal en el momento en que se necesite.
Paginación previa: Consiste en la recuperación de páginas distintas de la solicitada por un fallo de página

8.7 ¿Cuál es la diferencia entre gestión del conjunto residente y política de reemplazo de páginas?
R. En la gestión del conjunto residente, el sistema operativo debe decidir cuánta memoria principal ha de asignar a un proceso en particular cuando se carga. En la política de reemplazo de páginas, cuando la memoria está llena debe tomarse la decisión de qué página o páginas serán reemplazadas.

8.8 ¿Cuál es la relación entre los algoritmos de reemplazo de páginas FIFO y del reloj?

R. La relación es que tratan los marcos asignados a un proceso como un buffer circular y las páginas se suprimen de la memoria según la técnica de turno rotatorio.

8.10 ¿Por qué no es posible combinar una política de reemplazo global y una política de asignación fija?
R. Con una política de asignación fija, cada vez que se produce un fallo de página en la ejecución de un proceso, se debe reemplazar una de las páginas de dicho proceso por la página que se necesite. Una política de reemplazo global se considera todas las páginas de la memoria como candidatas a reemplazar, independientemente del proceso particular al que pertenezcan.

8.11 ¿Cuál es la diferencia entre un conjunto reciente y un conjunto de trabajo?

R. Un conjunto de trabajo es el conjunto de páginas a las que el proceso en un instante virtual t y con un parámetro , ha hecho referencia en las últimas unidades de tiempo virtual. Un conjunto residente es parte de un proceso que está en la memoria principal en un momento dado.

8.12 ¿Cuál es la diferencia entre la limpieza por demanda y la limpieza adelantada?

R. En limpieza por demanda, una página se escribirá en la memoria secundaria sólo cuando haya sido elegida para reemplazarse; y en una política de limpieza adelantada previo, se escriben las páginas modificadas antes de que se necesiten sus marcos, de forma que las páginas puedan escribirse por lotes.



Problemas

8.4 Un proceso tiene asignado 4 marcos de páginas. (Todos los números siguientes son decimales y todo esta numerado empezando por cero). El instante de la ultima carga de paginas en cada marco de pagina, el instante del ultimo acceso a la pagina en cada marco, el numero de pagina virtual de cada marco y los bits de referencia (R) y modificación (M) para cada marco son los dados (los instantes se dan en pulsos del reloj del procesador desde el instante 0 hasta el suceso, no el numero de pulsos desde el suceso hasta el instante actual)











Se ha producido un fallo en la pagina virtual 4. ¿Qué marco reemplazara su contenido para cada una de las siguientes políticas de gestión de memoria? Explíquese por que en cada caso.
R:
FIFO: En FIFO se reemplazara el marco #3 ya a que el instante de carga fue de 20 (el menor de todos) y fue el primero en ingresar.
LRU: En LRU el marco que se reemplazara es el marco #0, ya que el instante de referencia fue de 161, y es el menos usado recientemente.
Reloj: En el Reloj, primero se evalúa el bit de referencia R y luego se elije el primer marco que contenga del bit R en 0. Por lo tanto se reemplazara el marco de página #0.

Dado el estado de memoria anterior, inmediatamente antes del fallo de página, considérese la siguiente serie 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 cuando se produce cada fallo de página.
R: En un tamaño de ventana de 4 se producirán 6 fallos de página.

8.5 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 del de primera en entrar/primera en salir y determínese el numero de transferencias de paginas durante esta secuencia de referencias, comenzando con la memoria principal vacía con 3 marcos de pagina. Repítase para 4 marcos de página.


FIFO con 3 marcos








FIFO con 4 marcos







8.4 Un proceso contiene 8 páginas virtuales en el disco y se asignan con una ubicación fija de 4 marcos de página en la memoria principal. Se produce la siguiente serie de páginas:
1, 0, 2, 2, 1, 7, 6, 7, 0, 1, 2, 0, 3, 0, 4, 5, 1, 5, 2, 4, 5, 6, 7, 6, 7, 2, 4, 2, 7, 3, 3, 2, 3
a. Muéstrese la sucesión de páginas residentes en los cuatro marcos usando la política de reemplazo de LRU. Calcule la tasa de aciertos en la memoria principal. Considérese que los marcos están inicialmente vacíos.





b. Repita el apartado (a) para la política de reemplazo FIFO




c. Compare las dos tasas de acierto y comente la efectividad del uso FIFO como aproximación LRU con respecto a esta serie particular.
R: Ambas políticas de reemplazo tienen la misma efectividad, LRU como FIFO ya que estas producen 20 fallos, para esta serie de páginas.

No hay comentarios: