Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniería
Práctica 4
8 de mayo de 2023
b) Descripción, características y funcionamiento del algoritmo de
reemplazo implementado.
FIFO: Es un algoritmo de reemplazo en el que el primer numero de
una cadena de referencia que entra, es el primer número que sale.
c) Ejemplo del algoritmo de reemplazo implementado considerando la
siguiente cadena de referencia con 5 marcos. 3, 4, 4, 1, 2, 2, 2, 6, 7, 6,
7, 10, 11, 12, 14, 3, 3, 3, 1, 1, 6, 10, 10, 30, 4
d) Descripción del código implementado indicando el archivo, las
funciones o métodos realizados (anexe el fragmento código
implementado) de los siguientes puntos:
• Detección y atención del fallo de página
R: En translate.cc tenemos una condición que va a detectar si la
pagina no está en memoria y entonces va a generar un fallo de
página. Este fallo de pagina va a manejarse en la función de
setValidBit() que requiere el VPN de la pagina y el numero de fallos de
la página. Los fallos de pagina se van a incrementar en el exception.cc
• Intercambio hacia afuera
R: Este se hace en el método de setValidBit, pero solamente cuando
una página que se va a eliminar de memoria tiene el bit dirty en TRUE,
es decir que se ha modificado en la ejecución del proceso.
Se hace uso del método WriteAt() para escribir en el archivo de
intercambio desde la memoria física de nachOS.
• Intercambio hacia adentro
R: Se hace en el mismo método de setValidBit, y se hace el swap
cuando detecta un fallo de página, usando el método ReadAt().
• Algoritmo de reemplazo FIFO
R: Necesitamos un arreglo del tamaño de la cantidad de marcos de
nachos y también un contador para manejar el arreglo, este nos
indicará cuantos marcos hay en memoria.
e) Problemas presentados y sus soluciones durante la implementación
de memoria virtual. Describir a detalle.
R: tuvimos problemas al generar los archivos, se solucionó revisando
el código ya que teníamos un error en la lectura del archivo.
f) Tabla de resultados, que muestre cada uno de los programas de
prueba con la cantidad de fallos que genera, las escrituras y las
lecturas para el algoritmo de reemplazo implementado. Trabajando la
máquina con 64, 32, 16, 8 y 4 marcos de memoria.
Matult Numero total Numero de Numero de
No. Marcos de fallos de lecturas escrituras
pagina
64 47 47 0
32 110 110 70
16 8960 8960 8936
8 23331 23331 23315
4 82981 82981 82969