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?

11
demandé sur solvingPuzzles 2010-04-30 07:44:01

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 ;)

18
répondu WhirlWind 2010-04-30 04:04:33

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 "
    
1
répondu user3035698 2014-06-02 13:38:52

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
-1
répondu Surbhi Kaushik 2017-09-12 08:17:07