I want to share my ideas, and ask for some, since I saw, in previous postes, that this help a lot, and doesn't hurt.
Is not very simple to make a real virtual disk, that can be changed every time, for many programms in the same time, inside a file. Is not only a database to save files. We need to read, write, delete, move, etc...
Thinking about a good way to do that I first implemented a FAT system inside the file, with clusters. So, all the clusters have the same size, a status, and can be linked to other cluster to make a block. Then I'm creating the block handle, where every block can have some clusters, in any point of the file, and this group of clusters (the block) are used to save data. To save files, or directorys, we can use different types of formats and headers, to than save the data in the block. And finally make the IO::File based on the virtual disk, to can use it directly as a normal perl IO.
The objective of this architecture is make a dynamic and fast way to work with the virtual disk. And the file system will be similar to UNIX, where you can mount a virtual disk in some path, and make the virtual disk use many different files, in different machines.
The objective of this is a full portable way to save files, with security. For example, you can save a file with .exe extension, and don't worry if some one will execute it. Or use files with UNIX path on Mac.
But to make a good format I need to think in all the resources that I need to implement. For example, what stats a file will have, data, size, mode, etc... I can have links inside the disk to another file? If yes, need to think in the format.
Well, this is the list of resources now. If you have some idea, send your comments:
About the name of the module, how about IO::VirtualDisk?TYPES OF DATA: file, directory, link. STATUS OF A FILE/DIRECTORY/LINK: size The size used by the file. rsize The real size, in clusters, of the file. blocks The number of blocks (clusters) in use. AcTime When the file was last accessed. MdTime When the file was last modified. CrTime When the file was created. mode: rwx (will use x? if I can't run a file!) uid/gid Will have user access level? since we can read the main file disk... Or use just to tell who created it. CRYPTOGRAPHY A file can be encrypted with symmetric and asymmetric keys. What algorithm to use? Alrady exist a Perl module for it?
I will be very glad for any reply.
Graciliano M. P.
"The creativity is the expression of the liberty".
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Virtual Disk for Perl
by Abigail-II (Bishop) on Mar 07, 2003 at 07:03 UTC | |
|
Re: Virtual Disk for Perl
by zentara (Cardinal) on Mar 07, 2003 at 12:59 UTC | |
|
Re: Virtual Disk for Perl
by steves (Curate) on Mar 07, 2003 at 13:39 UTC | |
|
Re: Virtual Disk for Perl
by gmax (Abbot) on Mar 07, 2003 at 14:10 UTC | |
by IlyaM (Parson) on Mar 07, 2003 at 14:35 UTC | |
by hardburn (Abbot) on Mar 07, 2003 at 15:00 UTC | |
|
Re: Virtual Disk for Perl
by gmpassos (Priest) on Mar 07, 2003 at 17:33 UTC | |
by valdez (Monsignor) on Mar 07, 2003 at 21:33 UTC | |
by skx (Parson) on Mar 09, 2003 at 12:23 UTC | |
by gmpassos (Priest) on Mar 08, 2003 at 04:04 UTC | |
|
Re: Virtual Disk for Perl
by toma (Vicar) on Mar 09, 2003 at 19:24 UTC | |
by gmpassos (Priest) on Mar 09, 2003 at 19:36 UTC |