Are you ready for the Clicker generation ?

Clicker File System

Main Concepts

Clicker File System will probably look like a "melting pot" of many existing file systems. By the by, we try to design it as a TOTALLY NEW system, dramatically different from UNIX or MS-DOS file system (or WIN9x, they are same).
This section will try to describe the main idea of the CLICKER FILE SYSTEM. Let's tell you that, according to Clicker's modular approach, it should be quite easy to "upgrade" clicker's file systems manager so that it support older systems (or even newer ones) as part of the system.

Volume-based system

Clicker File system (that's the last time i don't write CFS.) is a volume-oriented FS. Which means you don't have one unique hierarchy (like in UNIX), but rather, a collection of volumes (logical units) whith their own hierarchy (like in DOS, rather). This allows special handling of tertiary storage media (such as floppies, tapes or cd-rom). I find it quite boring of linux 'mount' for floppy.
By the way, mounting should though be possible for hard-disk or local network file servers (which are useful). All those mounted disk units make the local file system (by opposition of medias and remote systems such as FTPs).

Multi-File-Acces

Clicker should allow file to have multiple occurence of files (like unix' hardlinks) or directories. Moreover, CFS will allow a file to exist in many versions, which resolves multi-access conflicts. Opening a file will always open the lastest version of it, and writing to a file will result in the creation of a new version.

Special Features

Up to here, not a lot of new features, but keep sitting...

Groups

A group is just a collection of files grouped together. This is an object that can provide separate access to it's own components. Those component may be external (the group is then much like a directory) or internal (then you got something looking like a library).
MoreOver, Groups may provide their own access methods and thus can deal with inline packing/unpacking.

Classes

Clicker Files are strictly typed with fileclasses (so that you can't try to tell clicker a sound is a picture). These Classes are associated in a hierarchy (i.e. an MP3 is a SOUND, a WAVE is a sound, a MODULE is a MUSIC wich is a sub-class of a SOUND.) converters may be used to go from a class to a neighbour-class by going back to the common superclass.

Compounds

Clicker Files may be compound of many other sub-files (well, they may be groups, if you prefer). This means that a group can provide informa- -tion to be loaded as a single file by combining it's components in some way.
This also means that kind of file is able to use an external component as a part of himself, and if this component is shared, it means that you may reuse a sub-file in many super-files without having to duplicate it.

Nodes

Each CFS file is associated to a node that describes it in the volume. This node can also hold some custom-informations, such as author of a document, etc. for forming a Enhanced Disk Object (EDO). Moreover, each node-field (EDO entry) is given a privilege-level that a process will need to access it. So the node can hold user, system or application datas without any missuse of this informations.
The class of the file is stored in a node-field and is associated in a database with EDO actions (tiny programs the EDO can be used with such as viewers, printers, etc.)

Keys

CFS provides two main access mode to files: the access by position ,where the file is assumed to be made of an "array of bytes" without any structure, and access by key where the file contains many record and when you only can access one record by giving its key (very powerful for databases)
That should be enough for this time, don't u think ?