Angenommen, ein UNIX-Dateisystem weist einige Einschränkungen auf, z. B. 2 KB-Blöcke und 8B-Festplattenadressen. Wie groß ist die maximale Dateigröße, wenn Inodes 13 direkte Einträge und jeweils einen einzelnen, doppelten und dreifachen indirekten Eintrag enthalten?Maximale Dateigröße bei einer bestimmten Inode-Struktur?
Antwort
Dies erklärt es für Sie:
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 8 KB für Ihren 2KB, und stellen Sie die Einträge für die kleinere Blockgröße.
2KB*(10 + 2**8 + 2**16 + 2**24)
Es ist nicht ich aus Ihrer Frage klar, ob die 13 Einträge, die Einzel-, Doppel- und Dreibettzimmer sind, oder wenn sie getrennt sind, aber das sollte einfach zu justieren - nur die 10 ändert in dem Ausdruck a 13.
Ich denke, ich habe die ganze Mathematik richtig eingestellt ... double check it = | Hoffe, das ist keine Hausaufgabe, die ich für dich getan habe;)
Wie viele Zeiger in 1 Block?
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"
Wie viele Zeiger im Dateisystem?
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"
Deshalb ist die Größe des Dateisystems ist:
size of the disk is : total of pointer*size of the pointer , which is around 34 GB "
Ich denke, das ist richtig für die ersten 13 Einträge, es sollte nur 13 Zeiger sein? –
Ihre Mathematik ist hier nicht korrekt. – Greg
Wir hv eine Verknüpfung, die für Auswahlprüfungen verwendet werden können, wie gegeben:
Max file size possible = [ block size/pointer size]^3 * block size
Sorry, Sie mit einer Frage 7 zu stören Jahre später, aber was bedeuten die beiden Variablen innerhalb der Gleichung? '2 ** 10' oder' 2 ** 20' - warum 2 und warum 10 oder 20 für jeden? – NateH06