Duda dir_entry

Duda dir_entry

de Agustín Torres Mari -
Número de respuestas: 5

Buenas.

Tanto en parciales viejos como el práctico aparece un record que se llama dir_entry, pero no me termina de cerrar que es y cual es su función.

Sería de gran ayuda alguna idea intuitiva de que es y su funcionamiento.

Saludos, Agustín.


En respuesta a Agustín Torres Mari

Re: Duda dir_entry

de Federico Rivero -
Hola Agustín!

Es la estructura de datos que representa una entrada en un directorio. Un directorio tiene como datos un arreglo de dir_entry para representar las entradas de ese directorio. Una instancia de dir_entry puede representar a un archivo o un directorio.

Saludos,
Federico
En respuesta a Federico Rivero

Re: Duda dir_entry

de Agustín Torres Mari -
Buenas Federico.
Viendo el 2do Parcial de 2022, se dan las estructuras de la imagen adjunta.
En que campo del inodo estarían los dir_entry? Tendría que checkear si es un directorio y los dir_entry estan en los bloques?
Saludos.

En respuesta a Agustín Torres Mari

Re: Duda dir_entry

de Federico Rivero -
Hola!

Lo segundo que decís es correcto (Tendría que checkear si es un directorio y los dir_entry estan en los bloques?): el inodo es una estructura que representa un elemento del file system, en caso de que sea un directorio, entonces los bloques de datos se componen de arreglos de dir_entry.

Saludos,
Federico
En respuesta a Agustín Torres Mari

Re: Duda dir_entry

de Luis Guillermo Cuadro Benitez -

Agustín,

Capaz tu duda viene por el  lado de la relación que hay entre los inodos, bloques del disco y dir_entrys.
Te cuento como lo veo yo, por si te sirve a entenderlo mejor.

Un inodo representa un elemento del sistema de archivos, el cual tiene asignado una cierta cantidad de bloques de discos (que es el campo block_count:int8 en este ejercicio).
A su vez un bloque de disco podes verlo como la estructura de datos arreglo compuesto por celdas, donde cada 'celda' del arreglo (por llamarle de alguna forma) es lo que se conoce como dir_entry, entonces un bloque de disco esta compuesto por muchos dir_entrys.

A su vez cada dir_entry puede ser o bien un directorio o un archivo, y se tiene que guardar en algún lado, donde es ese lugar, en un bloque de disco que como te comente podes verlo como un arreglo donde cada 'celda' del arreglo es un dir_entry.

Entonces acá se te da por un lado la estructura del inodo y por otro la estructura del dir_entry,  y la relación entre ellos es la que te comente anteriormente.

Por lo general en estos tipo de ejercicios, nos dan que un bloque de disco está compuesto por unos 32 dir_entry o 'celdas', fijate que 512 bytes que es lo que ocupa un bloque de disco dividido el tamaño de cada dir_entry que son 16 bytes, te da un total de 32 dir_entry para el caso del parcial.

Si te haces un dibujo te puede quedar más claro, al menos a mi me sirvió.