LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 06-08-2008, 05:03 PM   #1
terfy
Member
 
Registered: Jan 2005
Location: Denmark
Distribution: openSUSE
Posts: 165

Rep: Reputation: 30
filesystems - how to code


Hi guys.'

I know this maybe is a off topic question, but I did Google a lot without any luck.

So I hope you guys can help me.

I want to find information (a lot) about how to create a file system.. I mean.. how to code one, from the bottom..
Like, how ext2 etc etc was made.. are there any schemes I can read about it ??

What does it need.. does it need knowledge of C programming ? Maybe assembler ?? I don't know.

Please help me. find me information about it. I give up googling.

Terfy
 
Old 06-08-2008, 05:19 PM   #2
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
I would go to the project sites and study the source code. Here's a starting point for ext2:
http://www.google.com/search?q=ext2+...L_enUS177US235

I think that ext2 is typically built into the kernel, so looking at the kernel source would be another good thing to do.
 
Old 06-08-2008, 05:27 PM   #3
terfy
Member
 
Registered: Jan 2005
Location: Denmark
Distribution: openSUSE
Posts: 165

Original Poster
Rep: Reputation: 30
ok, thanks..

but are there any guides on the net somewhere I can read about it in general and not only ext2-based information ??

Terfy
 
Old 06-08-2008, 05:39 PM   #4
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,336

Rep: Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548
Quote:
Originally Posted by terfy View Post

I want to find information (a lot) about how to create a file system.. I mean.. how to code one, from the bottom..
Like, how ext2 etc etc was made.. are there any schemes I can read about it ??

What does it need.. does it need knowledge of C programming ? Maybe assembler ??
If you want to create a file system from the bottom then the design is a much bigger consideration than the coding. The first design consideration is what features you want to include. You can get ideas from existing file systems' features without reading the code. Here is a description of reiserfs features:

http://www.linuxjournal.com/article/4466

Here is an outline description of a ZFS description with an emphasis on performance:

http://64.233.169.104/linux?q=cache:...70102_v0_4.pdf

Here is a discussion of new features to be included in ext4.

http://www.ussg.iu.edu/hypermail/lin...07.0/0967.html

You also need to know how hardware works at a more basic level than your typical application programming. Here is a very incomplete set of disk descriptions:

http://www.faqs.org/docs/linux_admin/x1001.html

http://www.lydgate.org.uk/linux/hdd.html

Then you work out the design as to how your new file system software is to provide your feature set by using the available hardware capabilities.

Once you get down to coding the file system then you can use either assembly or C. Assembly is faster and it used to be that all OSs including file systems were written in assembly. But assembly is very much machine dependent and file systems written in assembly are not portable. File systems written in C are much more portable so these days almost everybody writes OS components such as file systems in C as much as possible and accepts the performance hit from using a higher level language.

------------------
Steve Stites

Last edited by jailbait; 06-08-2008 at 05:41 PM.
 
Old 06-08-2008, 10:30 PM   #5
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
Quote:
Originally Posted by terfy View Post
ok, thanks..

but are there any guides on the net somewhere I can read about it in general and not only ext2-based information ??

Terfy
Allow me to introduce you to Google:
http://www.google.com/search?q=linux...L_enUS177US235
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Error in Perl Code : Bad switch statement(Problem in code block)? near ## line # suyog255 Programming 4 02-20-2008 05:35 PM
small syntax problem with C code (implemented in Code Composer Studio) illiniguy3043 Programming 6 01-07-2008 02:14 AM
User Preferences: Use HTML code instead of vB code? (vB code is overrated) stefanlasiewski LQ Suggestions & Feedback 5 07-26-2005 01:37 AM
windows filesystems vs. linux filesystems irfanhab General 8 05-25-2004 07:21 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 01:05 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration