Open Lowdive opened 9 years ago
creo que es en línea 188-212 de método asignarMarcos de Manejador.rb; algo pasa cuando la asignación es de un proceso que tiene 0 marcosRealAsig y 1 cantPaginas, no entra en este while por que no salen mensajes en el output solo pasa la instrucción y no sale: while proceso.marcosRealAsig < proceso.cantPaginas && marcoRealActual < memReal.arrMarcos.size do
#y por lo tanto se le asigna al proceso.
if memReal.arrMarcos[marcoRealActual].idProceso == -1
#Se crea una nueva pagina que se pondra en el marco.
paginaTemp = Pagina.new(marcoRealActual)
#Se crea un nuevo marco que se pondra en memoria real.
#El marco es cargado con el id del proceso, bit de modificacion en 0 y un
#timestamp de UNIX.
marcoTemp = Marco.new(proceso.id, 0, self.timestamp())
#Se coloca el marco en memoria real.
memReal.arrMarcos[marcoRealActual] = marcoTemp
#Se coloca la pagina en la tabla de paginas del proceso.
proceso.tablaPaginas.push(paginaTemp)
#Se indica que hay un marco disponible menos.
memReal.dispMarcos = memReal.dispMarcos - 1
#Se indica que hay marco ocupado mas.
memReal.ocupMarcos = memReal.ocupMarcos + 1
#Se indica que al proceso tiene una marco de memoria real asignado.
proceso.marcosRealAsig = proceso.marcosRealAsig + 1
puts "Se alojo marco real #{marcoRealActual} para pagina #{proceso.marcosRealAsig-1}"
end
#Se cambia al siguiente marco de memoria real.
marcoRealActual = marcoRealActual + 1
end
Ya cheque y lo que pasa es que le memoria real esta llena pero dice que queda un marco disponible.
ok sólo resolviendo eso ya debe quedar... ya me voy al jale, el reporte lo mandas con las especificaciones de tu computadora verdad? On May 14, 2015 10:43 AM, "Alberto Harden Cooper Saldívar" < notifications@github.com> wrote:
Ya cheque y lo que pasa es que le memoria real esta llena pero dice que queda un marco disponible.
— Reply to this email directly or view it on GitHub https://github.com/ahardencoopers/prfOperativos/issues/25#issuecomment-102078456 .
Si.
Líneas a partir de la 6448 http://pastebin.com/VG2KtMhr EDIT: más bien es que no se cargaron los procesos! checa línea 6425