Taille maximale d'un fichier en fonction d'une structure particulière d'inodes?
supposons qu'un système de fichiers UNIX ait quelques contraintes--par exemple, des blocs de 2 KO et des adresses de disque 8B. Quelle est la taille maximale du fichier si les inodes contiennent 13 entrées directes, et une entrée simple, double et triple indirecte chacune?
3 réponses
ceci explique Cela pour vous:
http://www.cis.temple.edu/~ingargio/cis307/readings/stable.html
"The maximum size of a file will be 8KB*(10 + 2**10 + 2**20 + 2**30), that is more than 8TB."
échangez 8KB pour vos 2KB, et ajustez les entrées pour la plus petite taille de bloc.
2KB*(10 + 2**8 + 2**16 + 2**24)
il n'est pas clair pour moi de votre question si les 13 entrées incluent les simples, doubles et triples, ou si elles sont séparées, mais cela devrait être facile à ajuster -- il suffit de changer le 10 dans l'expression à un 13.
je pense que j'ai ajusté tous les calculs correctement... double check it = / J'espère que ce n'est pas un devoir que j'ai fait pour toi ;)
combien de pointeurs dans un bloc?
each block is 2kb = 2^11 1 disk address is 8b = 2^3 So, in 1 block there are 2^11/2^3 = 2^8 pointers"
Combien de pointeurs dans le système de fichiers?
for 13 direct entries = (2^8)*13 = 3328 for single = (2^8)^2 = 2^16 for double = (2^8)^3 = 2^24 for triple = (2^8)^4 = 2^32 total pointer is :3328 + 2^16 + 2^24 + 2^32"
Donc la taille du système de fichiers est:
size of the disk is : total of pointer*size of the pointer , which is around 34 GB "
Nous hv un raccourci qui peut être utilisé pour des concours, donnée sous la forme :
Max file size possible = [ block size/pointer size]^3 * block size