A custom virtual file system implementation that simulates core OS-level file management in user space.
- Create, read, write, and delete virtual files
- Directory tree navigation (mkdir, cd, ls, rmdir)
- Inode-based allocation with a FAT-style block map
- Persistence: serialises the entire VFS state to a single binary file
The VFS is backed by a flat binary store divided into fixed-size blocks. An inode table tracks file metadata (name, size, permissions, block pointers). All operations go through a thin system-call layer that mirrors POSIX semantics without touching the real filesystem.
- Language: C
- Build:
make - No external dependencies
make
./cvfs # interactive shell
cvfs> mkdir docs
cvfs> touch docs/notes.txt
cvfs> write docs/notes.txt "hello world"
cvfs> ls docs