OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Apr 18, 2024 8:30 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 29 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Tue Jul 03, 2007 11:16 am 
Offline
Member
Member

Joined: Sat Dec 30, 2006 2:31 pm
Posts: 729
Location: East Coast, USA
Alboin wrote:
frank wrote:
It wouldn't be that hard to make the database engine understand the contents of most files and for the other files they could be stored with meta data just like on a real filesystem.

You could even have a module-type system so each application could have a module that would allow the database system to understand its own file type. (Blender, for instance, would load a module that would allow the system to preview, read, etc. 3D type files.) Then other applications could use each other's module's to read and write those types of files.

I think this is what WinFS was going for. Reading about it just makes me want to use it... =P~


Yeah I was really hoping for WinFS. When they decided not to put it in Vista I lost just a little bit more of my respect for Microsoft.

_________________
My OS: Fuzzy Logic


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 03, 2007 4:03 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
WinFS is not the only approach. "Database" does not necessarily imply "relational database".

<anti-MS-rant>

IMO WinFS is overkill. You can get the same benefits without the relational DBMS back-end. In fact, it's already been done. IMO it makes more sense to study a working implementation that's already been providing tangible benefits to users for 3 years than to study a half-baked piece of mostly-vaporware.

</anti-MS-rant>

As I said before, you don't need the relational model in order to have good search capabilities and extensible metadata. I have a hard time imagining what value a relational DBMS adds to such a scheme in the first place. Did WinFS have any support for transactions? Triggers? Referential integrity? I'd be surprised if these features make much sense on unstructured file data... For example, why bother with RDBMS-style transactions when journalling filesystems already exist?

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 06, 2007 1:15 pm 
Offline
Member
Member
User avatar

Joined: Fri Oct 22, 2004 11:00 pm
Posts: 1076
a DB as an FS is a great idea (id love to do an open source version of something like OS400)...

a normal FS is a DB..

when most people go 'oh a DB would make a great FS' they commonly instantly forget you need on-disk-structures and such to manage the DB.

some DB systems used raw disk (enterprisy stuff), bypassing the filesystem, but still you need the whole free space/bitmaps/inodes type deal to manage all the data.

the idea is great, but it comes down to the implementation which suddenly becomes hairy.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 13, 2007 8:19 am 
Offline
Member
Member

Joined: Sat Jun 02, 2007 10:35 am
Posts: 28
Users need DBMSs, not file systems. Consequently, O/Ses need to manage information, not bytes.

Once the jump to managing information takes places, a lot of 'protocols' will go away, and computing will be a much better experience.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 23, 2007 6:55 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
@axilmar:

You are forgetting that bare hardware will never be able to support markup structures/complex data. They will ALWAYS only support numbers, and as such all OS's will ALWAYS need to transmit information in words (byte length standard could change). How much marshalling/unmarshalling actually takes place in kernel-space can be variable, but it's just another layer of abstraction.

(by always I mean in the forseeable future, not a millennium from now).


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 23, 2007 7:58 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
SQLFS? How more abstract do you want?

I've had an idea of standardising common file types (raw files, images, sounds, contacts, e-mails). My idea is about representing files as having properties based on their type rather than just as raw binary. For example, imaging the following is how a file-system stores data: (I'm only using XML to show my idea - in a real-world scenario you wouldn't store your FS in an ASCII-readable format)

A conventional file system has, around 3 properties for a file: name, permissions, stream of data.

What if, instead of just having a stream of data, the entry can have more properties depending on it's type. If it were a contact's details stored on the FS, it could be represented as:
<file type="contact" name="Joe Bloggs" e-mail="jblogs" picture="PNG)(*#@)$*#@)$*"></file>

An offline copy of a HTML file could be represented as:
<file type="offline-html" name="mysite.html" origional-url="http://www.mysite.com/mysite.html" last-updated=200700724>raw-html-data-here</file>

There could be a limitless number of fields (for associating attachments with a page). A binary could be represented as:
<file type="binary" developer="Joe Bloggs" homepage="http://www.mysite.com" version=1.4.2 icon="#@$*@)($*@" minimum-memory=4096>raw-binary-data-here</file>

A file could have an owner, and the database could look for the contact entry, and then list all other files also associated with that owner.

The operating system should have a 'plug-in' interface so it can understand different types of files, what to do with them, and how to associate them with other types.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 23, 2007 12:59 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
MessiahAndrw wrote:
The operating system should have a 'plug-in' interface so it can understand different types of files, what to do with them, and how to associate them with other types.


As I said before, it's already been done.

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 24, 2007 4:01 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Colonel Kernel wrote:
MessiahAndrw wrote:
The operating system should have a 'plug-in' interface so it can understand different types of files, what to do with them, and how to associate them with other types.


As I said before, it's already been done.


Spotlight is getting close to what I mean, but not exactly. Spotlight stores the file in a conventional way but with extra metadata.

I'm thinking of a completely new way to store files. A file will not have 'data' in a traditional way, with meta-data wrapping around it. Instead, a file will just be an 'entry' in the FS, with various fields each with their own attributes (e.g. each file has a Name attribute an a type attribute as a bare minimum, an image will also have a width attribute, a height attribute, a bpp attribute, what format it is attribute (raw bitmap, compressed raster, compressed vector) and an image-data attribute). There will be no data this entry wraps around (i.e. it's not a file 'header'), rather all data is stored in the entry as an attribute.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 24, 2007 6:51 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
MessiahAndrw wrote:
Spotlight is getting close to what I mean, but not exactly. Spotlight stores the file in a conventional way but with extra metadata.

I'm thinking of a completely new way to store files.


What advantage is there to such a scheme? Wouldn't it make it harder to trade files with other file systems without stripping off the extra metadata (like Mac resource forks in the days of yore)? A lot of important file formats already include their own metadata (mp3, jpeg, most video formats I can think of, etc.)

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 24, 2007 7:31 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Colonel Kernel wrote:
MessiahAndrw wrote:
Spotlight is getting close to what I mean, but not exactly. Spotlight stores the file in a conventional way but with extra metadata.

I'm thinking of a completely new way to store files.


What advantage is there to such a scheme? Wouldn't it make it harder to trade files with other file systems without stripping off the extra metadata (like Mac resource forks in the days of yore)? A lot of important file formats already include their own metadata (mp3, jpeg, most video formats I can think of, etc.)


I'll have conversion tools.. Anyway, in another post I said I wanted to try out new ways of doing things in my OS, and not write yet another DOS or POSIX clone just for the sake of compatibility.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 24, 2007 12:15 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
MessiahAndrw wrote:
I'll have conversion tools.. Anyway, in another post I said I wanted to try out new ways of doing things in my OS, and not write yet another DOS or POSIX clone just for the sake of compatibility.


IMO, it's better to be better than to just be different. :)

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 24, 2007 8:59 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Colonel Kernel wrote:
MessiahAndrw wrote:
I'll have conversion tools.. Anyway, in another post I said I wanted to try out new ways of doing things in my OS, and not write yet another DOS or POSIX clone just for the sake of compatibility.


IMO, it's better to be better than to just be different. :)


I've already planned how it would work. My file open function would be:

FILE File::Open(const char *path, const char *field, const char *mode);

Where the field would be the type, size, the data, etc. Depending on what you want to access within the file.

And I'll have a legacy fopen which defaults the field to "data". When a conventional file is copied the to file system, it just has all it's data placed in the "data" field until a program converts it to the new file-system's format. Live conversion tools will convert the format back when it is being copied to another file system.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jul 25, 2007 1:19 am 
Offline
Member
Member
User avatar

Joined: Sun Oct 22, 2006 7:01 am
Posts: 2646
Location: Devon, UK
Sounds interesting. I'll be interested to see how it works.

Cheers,
Adam


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 01, 2007 6:08 pm 
Offline

Joined: Wed Aug 01, 2007 6:01 pm
Posts: 1
Location: Argentina
Hi all,

There are a old OS called Pick, the filesystem are a DB, very practical and functional, I work with this in a 128kb computer with 2 terminals in 1990 in the army of my country (la colimba).

I think this is the beter aproach posible, the infinite levels of folders not help for speed

The manuals for this OS is in the web..


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 29 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 29 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