#include int main(void) { const int block_size = 4096; const int inode_size = 256; const int inode_blocks = 5; int inodes_per_block = block_size / inode_size; int max_files = inode_blocks * inodes_per_block; printf("Very Simple File System (vsfs) layout simulation\n"); printf("Block size: %d bytes\n", block_size); printf("Inode size: %d bytes\n", inode_size); printf("Inodes per block: %d\n", inodes_per_block); printf("Inode table blocks: %d\n", inode_blocks); printf("Maximum files: %d\n", max_files); printf("Disk layout (64 blocks):\n"); printf(" Block 0: Superblock\n"); printf(" Block 1: Inode bitmap\n"); printf(" Block 2: Data bitmap\n"); printf(" Blocks 3-7: Inode table\n"); printf(" Blocks 8-63: Data region\n"); int example_inum = 42; int block = 3 + (example_inum / inodes_per_block); int offset = (example_inum % inodes_per_block) * inode_size; printf("Example: inode %d located in block %d at byte offset %d\n", example_inum, block, offset); return 0; }