Linked by Thom Holwerda on Wed 22nd Feb 2006 19:04 UTC
OSNews, Generic OSes "What would happen if the beginning of file systems embedded a driver for accessing the disk? If the driver was in some sort of neutral format (similar to the X Windows drivers), then any OS could access the file system! While this concept was exciting in of itself, it didn't even begin to scratch the surface of what was possible. It wasn't long before I considered the fact that a file system is nothing more than a hierarchical database. There's nothing inherently special about it, so why can't the file system payload be replaced with some sort of other data? As long as the embedded driver can read the format and produce some sort of usable data structure, there's no reason why the concept could be extended for all types of data!"
Permalink for comment 98333
To read all comments associated with this story, please click here.
X Windows?
by rajj on Wed 22nd Feb 2006 20:45 UTC
rajj
Member since:
2005-07-06

I suppose what he means by X Windows and "neutral drivers" is XFree86/Xorg. Their implementation isn't portable because the drivers are in a neutral format; it is portable because XFree86/Xorg's drivers access hardware directly and duplicate some of the operating system's bus enumeration and interrupt functions. XFree86 has been justly accused of being an operating system within an operating system.

Filesystem drivers tend to be very highly married to kernel internals. It might be easy enough to abstract the filsystem API out when on operating systems that are UNIX like (read/write/open/close), but it certainly won't map well on others that are not. Of course, with enough glue one can stick anything together; however, the result may be less than appealing.

The author uses the Newton as an example, but the Newton doesn't have a filesystem. It has a data
storage mechanism known as a soup [1]. It is more or less "flat" with records contained in namespaces for each application that uses them.

The UNIX notion of a filesystem is a heirarchical namespace with objects (files) that represent a logically contiguous stream of bytes. There is no internal structure imposed on the contents of these bytes, and I believe this to be the primary strength of the filesystem (though others keep insisting its a weakness). Most every operating system in use today uses this model (including Windows).

The belief that any and everything can be solved by adding n numbers of indirection is a pipe dream. Sure we can make everything close enough alike to fit inside the grand and all encompassing abstraction, but then what is the point? Everything is the same anyway.

[1] I'm not going to call it an object database because that's the most nebulous term ever; whatever is an object anyway? One could easily say that the files in a filesystem are objects. As far as being a database, anything that holds data, quite frankly, is a database.

Edited 2006-02-22 20:54

Reply Score: 2