A UNIX-type file-system uses a disk block size of 1KB, 128 byte inodes, and 32 bit disk addresses. If the inode contains 64 bytes of data, 8 direct, 1 indirect, 1 double-indirect, and 1 triple- indirect blocks, apart from other file information. How many disk blocks would be required for storing files of sizes(a) 1 byte(b) 1024 bytes(c) 64 KB(d) 1MB ?

Respuesta :

Debel

Answer:

a: 1 inode

b: 1 inode + 8 direct data block

c: 1 inode + 8 direct data block + 1 indirect data block + 56 data blocks

d:  1 inode + 8 direct data blocks + 1 indirect block + 256 data blocks + 4 double indirect blocks + 760 data blocks  

Explanation:

From the question:

Inode contains 64 bytes of data, 8 direct, 1 indirect, 1 double-indirect, 1 triple-indirect blocks

Note:

A disk block size is 1 KB which is equivalent to 1024 bytes

Inode size is equvalent to 128 bytes  

32bit disk addresses is equivalent to 4 bytes

Size of each disk block is 1 KB and size of each disk block address is 32 bits(4 bytes).  

1 indirect block can addresses: [tex]\frac{2^{10}}{2^{2}} =2^{10-2}=x^{8}[/tex] blocks, which can store in total of [tex]2^{8}* 1024=262144[/tex] bytes.

a) 1 bytes: Inode stores the data(64 bytes), 1 inode can sufficiently store 1 byte file

b)1024 bytes: 1 inode + 1 direct data block(as the size of block is 1024 bytes)

c) 64 KB( 65536 bytes): 1 inode + 8 direct data blocks( 8*1024 = 8192 bytes) + 1 indirect data block + 56 data blocks

After using 8 direct blocks, remaining 57344 bytes (65536-8192 = 57344 ) should be stored in 56 blocks(57344/1024) using 1 indirect data block

d) 1 MB : 1 inode + 8 direct data blocks + 1 indirect block + 256 data blocks + 4 double indirect pointer blocks of overhead + 760 data blocks

After using 8 direct blocks and 1 indirect data blocks, remaining 778240(760Kbytes) bytes (1048576 - 8192 - 262144), still 760 data blocks are required. So 1 double indirect data block should also be used to point 4 blocks which in turn each points to 256 data blocks

1 double indirect can address [tex]2^{8}*2^{8}=2^{6}[/tex] bytes

ACCESS MORE
ACCESS MORE
ACCESS MORE
ACCESS MORE