sisoputnfrba / foro

Foro de consultas para el trabajo práctico
151 stars 7 forks source link

Estructura y operaciones en archivo Swap #248

Closed nicolasduarte93 closed 8 years ago

nicolasduarte93 commented 8 years ago

Hola. Necesitaría un poco de ayuda con respecto a como realizar operaciones con el archivo de Swap ya que no me queda muy claro.

Cree un archivo y lo inicialicé con el valor '/0'. Lo hice con un for iterando hasta que alcance el valor de cantidadPaginas * tamanioPaginas que los levanta del archivo de configuración. Compruebo el archivo y su tamaño y veo que fue creado correctamente. Luego en el enunciado dice que para controlar el espacio tengo que utilizar un bitmap. Este es un array que entiendo tiene valores binarios. La idea sería que si hay un 1 en determinada posición el espacio está ocupado y si hay un 0 esta libre no? Pero como está vinculado esto con el archivo que cree anteriormente?

Por otro lado, la UMC me va a pedir varias operaciones. Por ejemplo para inicializar un programa la memoria me envía el PID y la cantidad de páginas. Como se supone que asigne ese espacio en el archivo? Tengo que setear los datos en la estructura de control que el enunciado sugiere y luego grabar la estructura en el archivo? O lo agrego a una lista en la que cada elemento sea una página y luego grabo esa lista?

Perdón por hacerlo tan largo. Espero sus respuestas. Saludos.

afilgueira commented 8 years ago

Saludos!

nicolasduarte93 commented 8 years ago

Entonces el bitmap lo debo incorporar a la estructura de la página?? Que sea asignación continua quiere decir uno al lado del otro, que se toma el siguiente espacio disponible. Pero si se finaliza un programa y se borra una posición, queda un hueco de espacio libre que se puede utilizar (De ahí viene el tema de la fragmentación). Teniendo en cuenta los accesos que se hacen a la estructura supongo que debería utilizarse una lista. Pero aún no me queda muy claro. Todavía no vimos memoria virtual en mi cursada.

afilgueira commented 8 years ago

Hola, el bitmap es una estructura que usa el swap. En el enunciado se explica bien como. Si todavia no viste MV en la cursada, es normal que tengas un monton de estas dudas. Pensa que te faltan 8hs de clase para poder codear esto.

Mi recomendacion es que esperes a ver ese tema, los checkpoints estan pensados para eso. Saludos!

Matias9635 commented 8 years ago

Hola, el enunciado dice que la UMC debe informarle al Swap la cantidad de páginas para que este asigne el espacio en su partición. No me quedó claro cuando es que el espacio de las páginas debe ser asignado en la memoria principal y cuando en la partición del Swap. Gracias, Saludos

afilgueira commented 8 years ago

Hola Matias, llegaste a ver paginacion por demanda pura en la cursada? La idea del tp es exactamente esa.

Saludos!

Matias9635 commented 8 years ago

Todavia no vi memoria virtual, voy a esperar a verlo entonces. Gracias

marcogatti commented 8 years ago

@nicolasduarte93 Quedo contestada tu duda?