One scheme to avoid the problem of preallocation versus waste or lack of contiguity is to allocate portions of increasing size as the file grows. For example, begin with a portion size of one block, and double the portion size for each allocation. Consider a file of n records with a blocking factor of F, and suppose that a simple one-level index is used as a file allocation table.
a. Give an upper limit on the number of entries in the file allocation table as a function of F and n.
b. What is the maximum amount of the allocated file space that is unused at any time?