// sEXT2 - Simple File System Example // Space Definition Language File set Block(int) : partition UsedBlock | FreeBlock; set FreeBlock(int); set Inode(int) : partition UsedInode | FreeInode; set FreeInode(int); set UsedInode(int) : partition FileInode | DirectoryInode ; set FileInode(int); set DirectoryInode(int) : RootDirectoryInode; set RootDirectoryInode(int); set UsedBlock(int) : partition SuperBlock | GroupBlock | FileDirectoryBlock | InodeTableBlock | InodeBitmapBlock | BlockBitmapBlock; set FileDirectoryBlock(int) : DirectoryBlock | FileBlock; set SuperBlock(int); set GroupBlock(int); set FileBlock(int); set DirectoryBlock(int); set InodeTableBlock(int); set InodeBitmapBlock(int); set BlockBitmapBlock(int); set DirectoryEntry(DirectoryEntry); // relations xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx inodeof: DirectoryEntry -> UsedInode (many->1); contents: UsedInode -> FileDirectoryBlock (1->many); inodestatus: Inode -> token (many->1); blockstatus: Block -> token (many->1); referencecount: Inode -> int (many->1); filesize: Inode -> int (many->1);