Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ file-system
Hello, I need to program something like a file system,like FAT32 for example, I need to put into a flash memory(The flash memory we commonly use to transport music, videos or text files for example) a different format than the commercial ones. I need to do that in a transparent way to the final user who is going to use that memory in a PC with this program installed.
The why is: I need to have something that permit me to ensure my data inside the memory, but it has to be transparent to the final user, maybe a decrypt process could not be so transparent.
I'll really appreciate any idea, thanks in advance.
Sorry my English, it's not my native language...
Posted 31-Jan-12 7:40am
Edited 31-Jan-12 9:25am
v4
Comments
SAKryukov at 31-Jan-12 14:13pm
   
Why?
--SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

To add to above, if your aim is to encrypt the data, then making your file system non-standard, will make it harder to use with other systems.
 
File based encryption will lower costs for your product across the board, as compared to writing a new file system and drivers for every OS. Not only will you have development costs, but you'll have support costs associated also.
  Permalink  
Comments
glbrt.gds at 31-Jan-12 16:17pm
   
Yes JackDigler, you are right, but to do it transparent to the final user is the problem
JackDingler at 31-Jan-12 16:32pm
   
I'm not sure what you mean by 'transparent'.
 
Do you mean, seamless and easy to use?
Or do you mean hidden and inaccessible?
 
If you're going to write a filesystem that a user won't be able to see through explorer, then you'll need to write custom device drivers for each OS you want to support. For Microsoft Windows that means writing drivers for XP, Vista and Windows 7. Then you'll need to write code to interface with those drivers.
 
You'll find that effort more challenging than writing a custom file system. After all, if you took and existing file system and made minor changes to the header section, you could make it unreadable by other systems that don't know how to interpret it. Changing the identification bytes for FAT32 would cause Windows to ignore it as unreadable.
glbrt.gds at 1-Feb-12 10:22am
   
I mean easy to use.
You are totally right, probably taking an existing file system and modifying the header section resolve the problem. but even doing this, I will have to implement reading and writing operation,.. or not ?
JackDingler at 1-Feb-12 10:26am
   
At least then you'd have an existing code base to draw on. you wouldn't have to reinvent everything.
 
That would make your task a little easier.
SAKryukov at 31-Jan-12 17:51pm
   
This is a good point. I agree, my 5.
--SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Have a look at ReactOS[^] or FreeDOS[^].
 
There is also an implementation of FAT32 included with linux.
 
The above links are for open source OSes so you'll find what you need somewhere in the code - try asking at their respective mailing lists.
 
Best regards
Espen Harlinn
  Permalink  
Comments
glbrt.gds at 31-Jan-12 15:31pm
   
Lot of thanks Espen
SAKryukov at 1-Feb-12 3:04am
   
This is interesting information, my 5, but don't you agree with my answer?
--SA
Espen Harlinn at 1-Feb-12 3:48am
   
Perhaps - OP has altered his question since you answered.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

"Like FAT32" is not a file format, this is a file system. If you don't understand it, you are probably not ready to develop your own, sorry. Also, "my own" and "HELP!!", to certain extent, contradict to each other. If will be "your own" only if you do it on your own.
 
By the way, 1) avoid "ALL-CAPS", it is considered shouting on the Web, use correct capitalization, punctuation and spelling; 2) there is nothing in your post that would somehow justify development of your own file system.
 
As a bonus: please see my last note above. Instead of development of your own file system, try to learn encryption and think about using it.
 
Alternatively, think about keeping all your data open for everyone. Most likely, this is the best alternative for you. In almost all cases, the desire to keep data in secret in childish, not based an anything serious.
 
—SA
  Permalink  
Comments
Marcus Kramer at 31-Jan-12 14:26pm
   
+5.
SAKryukov at 31-Jan-12 14:36pm
   
Thank you, Marcus.
--SA
glbrt.gds at 31-Jan-12 14:52pm
   
As I have said before English is not my native language, I am really sorry if I have hurt someone here, that was not my intention, I am very sorry.
And you are totally right, if I am asking for help then it won't be my own project, sorry about that. I promise to post here the solution if I find it somewhere else.
Sorry about "file format", it was my mistake, what I want to do is not a new file format,but a file system, I've understand that.
 
I will read about encryption, I will be back after then.. thanks.
SAKryukov at 31-Jan-12 17:50pm
   
There is nothing to apologize about.
So, are you accepting the answer formally (green button)?
--SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.141022.2 | Last Updated 31 Jan 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100