Skip to content

The goal of this project is to build a virtual file system (VFS), which allows basic operations on files / directories like create, delete and search.

Notifications You must be signed in to change notification settings

arunk054/virtual-file-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual file system

The goal of this project is to build a virtual file system (VFS), which allows basic operations on files / directories like create, delete and search. The VFS is persisted in a file on the local drive which allows it to be easily transferrable. In our implementation, we use several data structures like n-ary tree to store the directory structure, binary search tree to perform efficient file search, hash tables to detect duplicate files and linked lists to maintain empty blocks. The VFS also supports trash functionality to delete and restore files. The major challenges involved persistence and synchronization of different data structures. The source code is written entirely in C and uses GTK libraries to implement a graphical user interface.

Following is a demo of this application in action, please use the full screen view for a clearer picture.

View Demo

====== STEPS TO COMPILE THE SOURCE FILES

We use a Makefile. Following is a list of make commands along with their descriptions

'make list' - To know the compile options avaliable

'make all' - To compile all source files

'make gui'- To build a binary for the gui. Note: This requires GTK 2.0 or higher

'make exe' - To build a command line binary

About

The goal of this project is to build a virtual file system (VFS), which allows basic operations on files / directories like create, delete and search.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published