n this assignment, you are expected to design and implement a simple file system (SFS) that can…

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

you make.

• 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 deadlines

Order Paper Now

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *