International Journal of Computer Architecture and Mobility (ISSN 2319-9229) Volume 1-Issue 8, June 2013 Filesystem in Userspace (FUSE) Shashi Bahir, Rahul Bangar, Sujit Shetty, Saurabh Shinde, Vandana Jagtap Department of Computer Engineering, MIT Pune Pune University, India
[email protected] [email protected] [email protected] [email protected] [email protected] Abstract- Developing kernel file systems for UNIX is a is a steep learning curve for doing kernel development due to challenging task, due to a variety of reasons. This approach the lack of facilities that are available to application requires the programmer to understand and deal with programmers complicated kernel code and data structures, making new code prone to bugs caused by programming errors. The kernel code User space filesystems have seen a strong resurgence. lacks memory protection, requires careful use of synchronization FUSE is a framework that allows file systems to be developed primitives, can be written only in C, and that too without being in userspace while offering ease of use and flexibility. linked against the standard C library. Debugging kernel code is also tedious, and errors can require rebooting the system. This document is meant to highlight the features of This document gives an idea about FUSE (loadable “Kernel loadable fuse”. The main idea is to make a kernel module), which allows non privileged users to develop completely new filesystem which interacts with the kernel but own file system in userspace. it is actually mounted in the userspace. With the help of the fuse application we would combine two different filesystem Keywords—VFS (Virtual File System), UNIX, kernel, userspace, and create a virtual file system.