User-Space File System Driver Development

Job ID: 39284945

Budget: €10 – €40 EUR

This assignment aims to provide you with an insight of file system driver functionality. Your task is to develop a simple file system driver. That is, your implementation will have access to the underlying block device (allowing sector read and write operations) and your implementation shall provide an interface to initialize the file system, mount/umount the file system, and perform basic file I/O operations (open, read, write, delete, ...).

In fact, the developed file system driver will not be a "real" file system driver. The problem is simplified in that the driver will run in user-space and the disk access will be simulated by function calls. Moreover, the file system driver will be tested in a single threaded environment (i.e., no locking is required), no user access rights are to be handled, no file owners are required, no timestamps are supported, ... The key of the solution is to handle data serialization and manage free disk space.

The file system interface is implemented in class CFileSystem, structures TBlkDev, TFile, and constants. The constants and structures TBlkDev and TFile are declared in the testing environment. Your implementation will use the structures, however, it cannot modify them. Your task is to implement class CFileSystem to provide the interface below.

For More Information Please Check the file in Attachments