Предположим, что файловая система UNIX имеет некоторые ограничения - скажем, 2 КБ блоков и 8B-адресов. Каков максимальный размер файла, если inodes содержат 13 прямых записей и одну, двойную и тройную косвенные записи?
Максимальный размер файла с учетом конкретной структуры inode?
Ответ 1
Это объясняет это вам:
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."
Смените 8KB на 2KB и отрегулируйте записи для меньшего размера блока.
2KB*(10 + 2**8 + 2**16 + 2**24)
Мне непонятно, из вашего вопроса, если 13 записей включают синглы, парные и тройные, или если они разделены, но это должно быть легко настроить - просто измените 10 в выражении на 13.
Я думаю, что правильно скорректировал математику... дважды проверьте это = | Надеюсь, это не домашнее задание, которое я сделал для вас;)
Ответ 2
Сколько указателей в 1 блоке?
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"
Сколько указателей в файловой системе?
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"
Поэтому размер файловой системы:
size of the disk is : total of pointer*size of the pointer , which is around 34 GB "
Ответ 3
Мы hv ярлык, который можно использовать для проведения конкурсных экзаменов, если:
Max file size possible = [ block size/pointer size]^3 * block size