Page 1 of 1

Managed File System

Posted: Sat Dec 05, 2009 2:30 pm
by 54616E6E6572
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.

Re: Managed File System

Posted: Sat Dec 05, 2009 8:28 pm
by earlz
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

Re: Managed File System

Posted: Sat Dec 05, 2009 8:34 pm
by 54616E6E6572
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.