Hey,
Good to see, someone read it. Sorry, i didn't write everything in proper sentences in the doc as i thought points would have been sufficient.
Back to Problems:
1. 4096/1024 is a file system with 4096 byte blocks and 1024 byte sized fragments. basically, one block can have 4 fragments. So the observation was that although the wasted space is the same in both a 4094/1024 file system and a simple 1024 block sized file system but the bandwidth in the former is higher compared to the latter.
2. The basic idea is that when someone writes a file, a few blocks (say) are allocated. Now that you want to append something to the file, the expression "File Contains no fragmented Blocks" means that whatever blocks were assigned to the file, if it is full or not. Fragmentation is always at the block level. Fragmentation of files, i suppose, means nothing.
3. AS far as i had read, Cylinder Groups are static in number and they are defined by the file system during its installation. Yes, there are fixed number of cylinder groups in a file system and fixed number of cylinders in each cylinder groups.You can check your system config using the linux cmds.
4. These layout policies seems very manaegable and so i think that such a scheme should be used in one way or the other on any other file systems but i am not very sure of this. I'll search about these and let you know.
5. "The problem with allocating all the data blocks in the same cylinder group is that large files will quickly use up available space in the cylinder group, forcing a spill over to other areas. Further, using all the space in a cylinder group causes future allocations for any file in the cylinder group to also spill to other areas. Ideally none of the cylinder groups should ever become completely full. The heuristic solution chosen is to redirect block allocation to a different cylinder group when a file exceeds 48 kilobytes, and at every megabyte thereafter."
This is the statement taken directly from paper.
Pranav