Consider a file system using the indexed allocation. The block size is 512 bytes and the pointer to a block takes 2 bytes. The largest file size that a one level indexed allocation method could handle is ___________ KB. Recall that 1KB is equal to 210 bytes. Answer -1 if there is no limit based on the provided information.

Respuesta :

Answer:

128 KB      

Explanation:

Given data :

The block size = 512 bytes

Block pointer size = 2 bytes

In an indexed allocation, a special block named Index Block contains all the pointers to the blocks that the file had occupied.

Therefore, the maximum number of block pointer in 1 block :

[tex]$=\frac{\text{block size}}{\text{pointer size}}$[/tex]

[tex]$=\frac{512}{2}$[/tex]

= 256

Thus, a block can hold maximum 256 pointers.

It is given the level of indexing is one. So,

Maximum size of the file =  maximum number of block pointers in 1 file x block size

                                          = 256 x 512

                                          [tex]$=2^8 \times 2^9$[/tex]

                                          [tex]$=2^{8+9}$[/tex]

                                           [tex]$=2^{17}$[/tex]

                                          [tex]$=2^7 \times 2^{10}$[/tex]

                                          [tex]$=128 \times 2^{10}$[/tex]

                                          = 128 KB   (∵ 1 KB = [tex]2^{10} \ B[/tex] )

Therefore, the largest file that 1 level if indexed allocation method can handle is 128 KB.