Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to develop a file system for Linux for my diploma work.

  • Where can I find infomation about this theme?
  • How can I test it and other?
share|improve this question

You want to start with FUSE -- all it requires is your implementation of system calls like open and unlink.

A tutorial, written using the Python bindings, is available at the FUSE Wiki.

share|improve this answer

Which way to go really depends on if you want to do kernel programming or not. If not Then your only reasonable choice is FUSE.

If you are more novice, and never worked in kernel, FUSE might be worth looking at. If you have solid programming experience, especially kernel, writing a real driver will yield better performance and stability. Of course, this assumes programmer time and experience are not in the equation. You could always write a kernel FS driver, of such horrific quality, that a comparable FUSE implementation could be better.

If you want to do real kernel programming, specifically on FS, you might want to consider Linux NTFS. The kernel really needs a full write/read high performance/stability NTFS driver. ... Two birds with one stone, major contribution and thesis in one.

share|improve this answer
Don't lure an obvious newbie into that dragon-infested place (NTFS is undocumented, and a very complex beast; it took many experienced kernel hackers to reach the current state). – vonbrand Jan 15 '13 at 22:43

As for any such project: I'd suggest you hang out with the people doing filesystem work, and help out on some of the existing pieces of code: it is normal for a new filesystem to take some 5 years of solid development work by experienced hackers to get to the point where normal people will dare touch it with a 10-foot pole.

share|improve this answer

Actually this can take a long time, even if you have experience in developing low level, in addition to knowledge of the kernel. I recommend you to be part of any established project and offer some improvements. Even this may also result in a demanding job and recognized by the educational institution and the developer community.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.