Parcial Julio 2017

Parcial Julio 2017

de Nicolas Grosso San Roman -
Número de respuestas: 1

Hola!

En el problema 2, en la última parte me quedaron algunas dudas a la hora de agregar el hardlink.

En la línea 4, cuando se le asigna el mismo número de inodo para realizar el hardlink, no me queda del todo claro por qué se accede a IT[inodo_hl].inodo_num en vez de asignar directamente a inodo_hl. Entiendo que inodo_hl es el número de inodo, por lo que con asignarlo a él ya basta. Acaso IT[inodo_hl].inodo_num difiere del valor de inodo_hl dado?

Por último, entiendo que se escribe en disco los cambios hechos sobre los dir entrys porque hay que plasmarlos en disco, y me surge la duda de dónde están los inodos, ya que nunca escribimos sobre inodos sino sobre bloques de dir entrys. Los inodos están a nivel del sistema operativo? o también se encuentran en el disco? por qué basta con asignaciones para modificar los valores de un inodo y no es necesario hacer una operación de write?



Gracias!

En respuesta a Nicolas Grosso San Roman

Re: Parcial Julio 2017

de Jorge Merlino -

Creo que sería lo mismo hacer

buff[entry_block][entry_id].inodo_num := inodo_hl

La tabla de inodos están en el disco. Siempre hay una parte del espacio total del disco que se pierde para guardar los metadatos del filesystem al formatearlo. En general asumimos que esas estructuras se copian a memoria al montar el filesystem y no les pedimos que las guarden pero en algún momento hay que guardarlas si se cambian.

Saludos