I know that a disadvantage of the index block system is that it can be wasteful of space if the files involved are mostly small in size, as index blocks are allocated from free space as required and at least one index block is needed for each file regardless of size. On average there is ½ block wastage per file in the index block system however what I don't understand is how the index block structure could possibly be modified to reduce this wastage.

If anyone can help it would be greatly appreciated.


First of all, it is not necessarily true that on average half a block is wasted. The main reason why this is false is that for small files it might be the case the more than half a block is wasted on average. Moreover, this is your main worry regarding this wastage, since is you waste half a block per large file, the fraction of blocks wasted is actually quite small. So you have to worry mainly about small files, whose size is at most a handful of blocks, and most of all for files whose size is much smaller than one block.

Second, you're asking how the index block structure can be modified to reduce this wastage. Here it's your time to be creative. One idea is to have special blocks for storing small files. I'll let you flesh this idea out. Another idea is to allow the first block of a file to start at the middle, so that two files can share one block. Of course this becomes somewhat problematic when files are updated.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.