In this assignment, you are expected to design and implement a simple file system (SFS) that can be
mounted by the user under a directory in the user’s machine. You need to demonstrate a file system
working in Linux. It may work with some modifications in other Unix-like operating systems (e.g., OS
X). To simplify the assignment, SFS introduces many limitations such as restricted filename lengths, no
user concept, no protection among files, no support for concurrent access, etc. This is a design assignment.
Therefore, several aspects of the SFS are left undefined. It is your responsibility to make valid assumptions
and document them. No matter what assumptions you make, your implementation should work with the
testers and also it should be mountable through FUSE to get full marks.
Here is a list of restrictions we propose for SFS. You could add more provided you keep the SFS
functionally compatible with the testers and FUSE. You need to document all the simplifying assumptions
• Limited length filenames (select an upper limit such as 16)
• Limited length file extensions (could be set to 3 – following the common extension length)
• No subdirectories (only a single root directory – this is a severe restriction – relaxing this would
enable your file system to run many applications)
• Your file system is implemented over an emulated disk system, which is provided to you.
Here is a schematic that illustrates the overall concept of SFS in direct mode. You need to implement the
yellow (orange) component. The other two components (tester and disk) are given to you.
Figure 1: SFS in direct mode.
The problem with the direct mode is that SFS is only usable by your program. You may not be happy about
it! Why not use SFS to store data created by an editor like vi? The mountable version of SFS addresses
this problem. It allows you to store anything and treat SFS like an extension of the OS. The magic is
performed by FUSE – file systems in user space. The concept of FUSE is similar to the concept we saw in
micro kernel OSes. I said it is similar to micro-kernel OS (it is actually not).
Save your time - order a paper!
Get your paper written from scratch within the tight deadline. Our service is a reliable solution to all your troubles. Place an order on any task and we will take care of it. You won’t have to worry about the quality and deadlinesOrder Paper Now