User-level File System

The goal of this exercise is to design and implement an User-level File System similar to file systems discussed in class (e.g. FAT and UNIX), but relying on a virtual disk instead of a real I/O subsystem.

Virtual Disk

The virtual disk upon which the user-level file system will be implemented is a standard file on the hosting operating system. The file will be 100 MB in size and will be accessed in chunks (i.e. logical blocks) of 1 KB through the following interface:

FS API

The User-level File System must implement, at least, the following interface: