Examen Febrero 2020, Problema 3

Examen Febrero 2020, Problema 3

de Ignacio Lambert Guimarey -
Número de respuestas: 3

En la parte a, que dice "justifique la cantidad máxima de archivos/directorios que se pueden almacenar en el sistema y en el directorio raiz?" . Que respuesta se debería dar aca? Porque en la solución no encontré. Saludos.

En respuesta a Ignacio Lambert Guimarey

Re: Examen Febrero 2020, Problema 3

de Manuel Freire -

Buenas,

La justificación que se espera ahí es la cuenta que te da el resultado explicitando de dónde sale cada valor. Ejemplo: en un bloque entran x dir_entry, el campo datos de un inodo puede direccionar y bloques entonces en un directorio pueden haber tantos archivos (si está todo lleno de archivos).

Para lo del sistema sería algo equivalente pero teniendo en cuenta los máximos de bloques, inodos y que todo archivo debe estar dentro de un directorio (incluído el raiz). Te sugiero que intentes hacerlo y si no te sale lo conversamos.

Saludos!

En respuesta a Manuel Freire

Re: Examen Febrero 2020, Problema 3

de Sebastian Alvarez Falero -

Lo estuve pensando pero me quedan dudas de si está bien:
Dado que cada archivo/directorio está asociado a un inodo, la cantidad total de estos en todo el file system está dada por MAX_INODOS, no?

Luego, el directorio raíz está compuesto por un inodo, el cual puede "apuntar" a 9 bloques más. Como cada uno de estos bloques tiene tamaño 1024 Bytes y cada entry_dir ocupa 32bytes, se pueden almacenar 32 inodos en cada bloque y por lo tanto 32x9=288 archivos/directorios en el directorio raiz.

Es necesario tener en cuenta algún tipo de cota dada por la cantidad de bloques? Pensando en el caso de que cada inodo haga uso de sus 9 bloques 

En respuesta a Sebastian Alvarez Falero

Re: Examen Febrero 2020, Problema 3

de Manuel Freire -

Buenas,

Dado que cada archivo/directorio está asociado a un inodo, la cantidad total de estos en todo el file system está dada por MAX_INODOS, no?

Es uno de los factores que hay que tomar en consideración, no el único. Además de tener en cuenta MAX_INODOS en este tipo de cálculos hay que tener en cuenta que cada archivo/directorio (sin ser el raiz) está dentro de un directorio, podría suceder que quede un inodo en el que guardar el archivo/directorio pero no haya un bloque que usar y por ende no sería direccionable por el sistema de archivos. En otras palabras no existiría.

Luego, el directorio raíz está compuesto por un inodo, el cual puede "apuntar" a 9 bloques más. Como cada uno de estos bloques tiene tamaño 1024 Bytes y cada entry_dir ocupa 32bytes, se pueden almacenar 32 inodos en cada bloque y por lo tanto 32x9=288 archivos/directorios en el directorio raiz.

El razonamiento está bien, un apunte de terminología no más: lo que se guarda en un bloque es una dir_entry (que en la práctica es como que fuera un puntero con datos), el inodo está en la tabla de inodos.

Lo último te lo respondí más arriba.

Para cerrar sugiero que intenten hacer la pregunta de sistema de archivos del examen de diciembre de 2018. Usa las mismas ideas pero de otra forma (buscando maximizar un tamaño) y es buena para chequear si entendieron.

Saludos!