Answer: 16417
To find the number of blocks required to hold the free disk block numbers, we calculate as follows:
Step 1: Calculate the total number of blocks on the disk
- Disk size = 16 GB=16×230 bytes
- Block size = 2 KB=2×210 bytes=2048 bytes
- Total number of blocks (N) = 2×21016×230=8×220=8,388,608 blocks
Step 2: Calculate the capacity of a single index block
- Each block in the list uses 4 bytes for a pointer to the next block.
- Remaining space in each block for storing block numbers = 2048 bytes−4 bytes=2044 bytes.
- Size of each block number = 32 bits=4 bytes.
- Number of block numbers stored per block = ⌊42044⌋=511.
Step 3: Calculate the number of blocks required
To store the addresses of all 8,388,608 blocks:
Number of blocks=⌈5118,388,608⌉=⌈16416.06⌉=16417