Duda Examen febrero 2022 bloque 3 Sistema de Archivos

Re: Duda Examen febrero 2022 bloque 3 Sistema de Archivos

de Santiago Nicolas Diaz Conde -
Número de respuestas: 0
Buenas, te dejo como lo pense yo, y te recuerdo que los archivos vacios pueden apuntar a un mismo inodo (tengo entendido, si puede que un profesor me corrija) que sea "archivo vacio".
por lo que por ejemplo, puedes tener, que en cada carpeta en datos en datos[0] tengas 1 carpeta y 31 archivos como menciono el profesor, y en los otros 8, 32 archivos en cada uno.
Para un total de 287 archivos por carpeta y 1 carpeta (excepción la ultima carpeta donde todos son archivos), como tenemos 4096 inodos pero usamos 1 inodo para archivo vacio, tenemos 4095 inodos disponibles para las carpetas.
haciendo esto por inodos nos vemos limitados a un total de 4095*287+1 archivos, sin embargo si vemos, este numero de archivos no entra en el disco (4095*287+1)*32 > MAX_BLOQUES * 32.
Por lo que tendríamos MAX_BLOQUES * 32 - 4095 archivos.
Por lo que lo ideal es buscar la cantidad ideal de carpetas para poder tener la maxima cantidad de archivos posibles, es decir que cumple lo siguiente:
Una cantidad de carpetas tal que cumpla: (Cant_Carpetas * 287 + 1)*32 sea lo mas cercano posible a MAX_BLOQUES*32 - Cant_Carpetas (resto el espacio en disco que uso para las carpetas)
Un ejemplo:
Usando 115 carpetas, tenemos (115*287+1)*32 = 1056192 > 1048461 = MAX_BLOQUES*32 - 114
Por lo que con 115 carpetas tendríamos: 1056192 archivos maximo sin embargo esto es mas de lo que soportan los bloques (32768*32 = 1048576 entrada_dir), por lo que usando 115 carpetas, podemos tener 1048461 archivos (MAX_BLOQUES*32 - 115).
Si usaramos 116 carpetas serian menos archivos incluso (MAX_BLOQUES*32 - 116).
Usando 114 carpetas en cambio tenemos (114*287+1)*32 = 1047008 < 1048462 = MAX_BLOQUES*32 - 114.
Por lo que usando 114 carpetas podemos tener 1047008 archivos lo que es menor que con 115 carpetas (MAX_BLOQUES*32 - 115 = 1048461 > 1047008)
Por lo que lo ideal es tener 115 carpetas para tener un total de 1048461 archivos maximo.