Jump to content

My own file system

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
8 replies to this topic

#1
sp3tsnaz

sp3tsnaz

    Learning Programmer

  • Members
  • PipPipPip
  • 41 posts
i wish to make my own file system for linux as semester project for Operating Systems course.. but so far i couldnt get the resources for that by using google even .. So can anyone help me or point me in the right direction ?
Like where should i start ? some book / tutorials/ links ?

Any help is welcome .

Regards,
Mohsin

#2
Red_Shadow

Red_Shadow

    Learning Programmer

  • Members
  • PipPipPip
  • 58 posts
If you don't know where to start, I seriously recommend you pick an easier project. Also, depending on how long your semester is, you may be in over your head.

Writing a filesystem is a pretty massive task. Especially if you want it to actually work with your OS.
It wouldn't surprise me that there are no "file system programming" tutorials. It's just not something most coders dive into.

If you are really serious, I suggest you read the source code from another already-implemented filesystem. Then decide which of the features you need.

But I think a saner project will get you better results (and reduce your chances of having a completely unfinished project when you need to turn it in).

H.T.H

#3
sp3tsnaz

sp3tsnaz

    Learning Programmer

  • Members
  • PipPipPip
  • 41 posts
creating sane projects is not fun :( i program because i love to and not because its my field ..

some practical solutions anyone ?

#4
Red_Shadow

Red_Shadow

    Learning Programmer

  • Members
  • PipPipPip
  • 58 posts
That's the right attitude if you actually want to make it. I work in much the same way. ^^

And I was quite serious about reading through the source of an already-existing fs. It should help you understand all the problems you need to address.

What you'll need to do is gain an understanding of what exactly a filesystem does. If you are a capable programmer, you can then implement that functionality in the language of your choice.

If you want to study FS sources, I would recommend you find the smallest FS you can find. ext2 would come to mind, but you can probably find a smaller FS if you want.

I'm not going to bother reading all these texts, but these link would seem related. Hope you find the useful. If not, sorry for linking something unrelated.
Writing Stackable Filesystems | Linux Journal
Unix Internals

h.t.h

#5
sp3tsnaz

sp3tsnaz

    Learning Programmer

  • Members
  • PipPipPip
  • 41 posts
thank you !! keep posting though , if you find something .. i ll keep looking and trying the source codes ..

very useful links ... came across the linux journal one yesterday .. thanks !!

#6
Red_Shadow

Red_Shadow

    Learning Programmer

  • Members
  • PipPipPip
  • 58 posts
Sorry Comrade, but I have my own project to finish. ;)

Another thing you may want to do is - after understanding what they are - write all the "problems" down, eg what does it need to do? This makes is *so* much easier to actually plan development.

Which language will you do it in? The Linux kernel is written in C, so I suppose it works better with the kernel than other languages.

Also, set a roadmap. You will have a deadline for this, so it's important to plan how much time you will have for each sub-item on your schedule. Otherwise you can spend months on one little thing, effectively missing your goal.

#7
sp3tsnaz

sp3tsnaz

    Learning Programmer

  • Members
  • PipPipPip
  • 41 posts
thankyou for the advice .. i ll do it in C

#8
Red_Shadow

Red_Shadow

    Learning Programmer

  • Members
  • PipPipPip
  • 58 posts

sp3tsnaz said:

thankyou for the advice .. i ll do it in C

You'll need something like this: Kernel Tutorials

#9
ETShost

ETShost

    Learning Programmer

  • Members
  • PipPipPip
  • 48 posts
Coming up with a practical file system may somewhat difficult to do, however writing you own primitive one is very plausible within a summer's time.

The first step would probably to set up your own RAM disk(you can google for howto's for creating RAM disk in different UNIX like operating systems), and writing two small programs to write and read data from that RAM disk using byte offsets.

From there you can add all the complexity to your filesystem that you would like. Indexes and directory structures, file fragmenting, or anything else you would need to create a useful file system.
ETShost .com - Exceeding Innovation
Dedicated ServersVPS • Web Hosting
24/7 Support | 1-866-259-2934