[CVALE] How do you design a file system?

Landon Blake lblake at ksninc.com
Tue May 8 13:35:40 PDT 2007


Thanks Steve and Patrick for the responses. See my comments below.

Patrick wrote: "You might be able to answer a lot of these questions
simply by looking at their project websites and/or source code."

Good suggestion. I will take a look at those project websites.

Steve wrote: "Just stating the obvious, but just from your email, you
have a looooong way to go before you could even get close to that
point."

This is the story of my life. :] 

But you have to start somewhere...

Steve wrote: "There's also a few good books on filesystem design.
ATTOMH, I can't thing of what they are right now, maybe someone else
could.But for OS desing, I would highly recomend going through the
Richard Stevens UNIX series of books, plus also books by Tanenbaum and
Kirk McKusick. One last book is "UNIX Internals" by Vahalia is very good
theory book."

I have a couple of these books. They include "Computer Organization and
Design" and "The Design of the Unix Operating System". I also have at
least two or three books on Linux programming.

Perhaps I need to start with the books on basic Linux programming. My
interest in file systems may be too narrow or specific for my limited
knowledge.

Landon

-----Original Message-----
From: cvale-bounces at lists.fire2wire.com
[mailto:cvale-bounces at lists.fire2wire.com] On Behalf Of Steve Bibayoff
Sent: Tuesday, May 08, 2007 1:24 PM
To: cvale at cvale.org
Subject: Re: [CVALE] How do you design a file system?

Hello,

On 5/8/07, Landon Blake <lblake at ksninc.com> wrote:

> Its time for one of my really ignorant and purely theoretical
questions: How
> do you design a computer file system?

Just stating the obvious, but just from your email, you have a
looooong way to go before you could even get close to that point. This
question is hard to answer w/o you knowing what basic OS and
filesystem design is. Below I have listed some starting points to
read(alot of reading).

> If you wanted to design a new file system, how would you go about it?
Would
> it have to be written specifically for each processor type? Could it
be
> written in a programming language like C, or would it have to be
implemented
> at a lower level by using some sort of assembly language? Is a file
system
> simply a format specification? (For example, the name of the file goes
in
> this 50 bytes, the length of the file in the next 10 bytes...) Or does
a file
> system contain tools, utilities and functions?

Some starting points hints:
/path/to/your/local/sources/linux/fs/
/path/to/your/local/sources/linux/Documentation/filesystems/
Also, look up fuse (Filesystem in Userspace)

There's also a few good books on filesystem design. ATTOMH, I can't
thing of what they are right now, maybe someone else could.But for OS
desing, I would highly recomend going through the Richard Stevens UNIX
series of books, plus also books by Tanenbaum and Kirk McKusick. One
last book is "UNIX Internals" by Vahalia is very good theory book.

> What is on the cutting edge of computer file system design? What new
> concepts are they exploring?

Lwn.net had some great articles(how do you perform a fsck on a
pedabyte fs?) this past year in the filesystem space. I would start
searching there.


I hth at least some,

Steve

_______________________________________________
cvale mailing list
cvale at lists.fire2wire.com
http://lists.fire2wire.com/mailman/listinfo.cgi/cvale


Warning:
Information provided via electronic media is not guaranteed against defects including translation and transmission errors. If the reader is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this information in error, please notify the sender immediately.



More information about the cvale mailing list