OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Apr 19, 2024 7:22 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Managed File System
PostPosted: Sat Dec 05, 2009 2:30 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 18, 2009 12:52 pm
Posts: 47
Location: Kansas City
Edit: Thank you to whoever moved this to the correct forum board.
Edit: Added in a alpha draft of the specification that really needs improvement but is better than this explanation.
------------------------------------------------------------------------------------------
Ok, so I've come up with another completely stupid idea that I'm going to provide and is going to end up completely wrong. I am writing a draft specification, followed by a small driver for this file system and welcome complete teardown of my idea. This is just a basic explanation of the idea and is by no means the current stage of my idea.

The Managed File System started out as me implementing the Simple File System (SFS) and then giving it an entire makeover to make it simpler, speed it up, etc...

It has the same general layout with only a couple of things changed in the Boot Block, what was changed was the Index Area

The Index Area contains 4 linked list heaps, A String, Extension, Index, & Directory Heap

String Heap - Length Prefixed UTF-8 Strings, Allowing at 255 Single-Byte or 63 Four-Byte UTF-8 Character strings for Filenames, directory names, and extension names. This method also allows ANY character to be used in a file name

Extension Heap - Index into the string heap for the extension name, and an index into the file heap specifying what program to open the extension with

File Heap - Index into Directory Heap for parent directory, index into string heap for name, index into extension heap for file extension, file offset into data area in blocks, size of file in blocks, time stamp, file atttributes

Directory Heap - Index into Directory Heap for Parent Directory, index into string heap for name, number of child directories, number of child files, time stamp, directory attributes


The file system allows for fragmentation by using one of the attribute bits to specify whether or not the first X-Bytes of it's data in the data area specify the next block number and it's length. This design should allow for quick file searching, smaller overhead, etc.


Attachments:
File comment: The Alpha Draft Specification in txt format
MFS.txt [2.94 KiB]
Downloaded 105 times

_________________
The 2nd Doctor: "I have no doubt that you could augment an earwig to the point where it could understand nuclear physics, but it would still be a very stupid thing to do!"
Top
 Profile  
 
 Post subject: Re: Managed File System
PostPosted: Sat Dec 05, 2009 8:28 pm 
Offline
Member
Member

Joined: Thu Jul 07, 2005 11:00 pm
Posts: 1546
Um, can't comment on most of your design..

But the whole "Allow any character in a filename" bit may sound great on paper but when you trying to display file name "My \0 Awesome \r\r\n\n File that is \b awesome" it's just going to be hell. Supporting Unicode characters is one thing, but supporting \0 will really screw over every OS design and most OSs will probably implement your system but not allow \0 in filenames

_________________
My new NEW blag


Top
 Profile  
 
 Post subject: Re: Managed File System
PostPosted: Sat Dec 05, 2009 8:34 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 18, 2009 12:52 pm
Posts: 47
Location: Kansas City
earlz wrote:
most OSs will probably implement your system but not allow \0 in filenames


That is quite fine, there is no restriction on that either, their is the option of having that character in your filename though and OSs that choose not to implement that character can simply display the standard [] unknown symbol, it's what we do anyways if we open a text document that has some foreign character not recognized by the file system.

Just want to throw it out there that '/' or '\' would be the only character not truly allowed as it would be used as a delmiter when representing the full path of a file.

_________________
The 2nd Doctor: "I have no doubt that you could augment an earwig to the point where it could understand nuclear physics, but it would still be a very stupid thing to do!"


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 28 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group