Supposons qu'un système de fichiers UNIX ait des contraintes - disons 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 indirecte simple, double et triple?Taille de fichier maximale donnée à une structure d'inode particulière?
Répondre
Ce pour vous explique:
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."
Swap 8KB pour votre 2KB, et réglez les entrées de la taille des blocs plus petits.
2KB*(10 + 2**8 + 2**16 + 2**24)
Il est pas clair pour moi de votre question si les 13 entrées comprennent les simples, doubles et triples, ou si elles sont distinctes, mais qui doivent être faciles à régler - il suffit de changer le 10 dans l'expression a 13.
Je pense que j'ai ajusté tous les maths correctement ... double check it = | J'espère que ce n'est pas le travail que j'ai fait pour vous;)
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"
Par conséquent, 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 "
Je pense que c'est correct pour les 13 premières entrées, il devrait y avoir seulement 13 pointeurs? –
Votre calcul ici n'est pas correct. – Greg
Nous hv un raccourci qui peut être utilisé pour les examens concurrentiels, étant donné que:
Max file size possible = [ block size/pointer size]^3 * block size
Désolé de vous embêter avec une question 7 des années plus tard, mais que signifient les deux variables dans l'équation? '2 ** 10' ou' 2 ** 20' - pourquoi 2 et pourquoi 10 ou 20 pour chacun? – NateH06