n this project, you will take a deeper look at how filesystems are designed and implemented in modern computer systems. This project will focus on the creation of a filesystem driver to add support to Linux for reading and writing to a filesystem within a disk image file. However, before the filesystem driver itself can be implemented, this project will require the creation of a tool to format the filesystem.
This project will involve creating a new filesystem driver, which we will call VMUFS. This new filesystem driver will be implemented using the FUSE framework, which allows the creation of filesystem drivers entirely in user-space. Also, a tool to create a disk image file of a fixed size and to format it as a valid VMUFS driver will be required in this project. There is a possibility for extra credit on this assignment if an in-kernel filesystem driver (as a loadable kernel module) is developed in addition to the FUSE-based filesystem module and the formatting tool.