Sunday, February 27, 2005

Benefits of an internal file system

The biggest difference between a PocketPC and a Palm Os handheld is the file system. While the Palm OS goes for flat storage, the PocketPC has a directory structure in internal RAM and allows developers to work with more-less native files like they are used to on a PC.
The use of proprietary data formats was 100% o.k. when the Pilot hit the market-there weren't all that many units to exchange data with. However, we are living in a more-less connected world nowadays. Everybody has bluetooth on his cell phone and PDA-and this PDA isn't necceccarily a Palm OS handheld anymore.
Users want to exchange data! But, a file format proprietary to a platform(may it now be Palm OS, Symbian or whatever) can not be exchanged with a different kind of machine unless a viewer is installed on the other machine in order to handle the data received. Compare that to industry-standard formats like .bmp and .jpg. The latter will work on almost any platform.
Now, some of you may ask why a file system encourages developers to write native apps. In order to understand the problem, you need to understand the way the Palm OS handles data. The data is stored in so-called databases that consist of records that have a maximum size of about 64kB. Native files usually are mich bigger-so they would need to be spanned over multiple database records(yeah, I know about file streams, leave me alone on that one). In order to avoid this hassle, developers create a custom way of storing data-alas, byebye interoperatibility.
Even if the database contains a single record with all the native data, transmitting it without the help of a special application will transfer the file as a .pdb file and not as whatever it should be. In order to access the industry-standard data, you first need to strip off the headers,.... .
The biggest anti-thing about a file system is of course its tendency to hog resources. The ├╝problem could however be avoided-create a special "Native File Interface" that allows developers to store arbitary-length chunks of data in a specified format. Then have the system strip away unneeded headers,... when beaming-alas,the problem would be solved...
What do you think?

7 Comments:

Blogger Ron said...

The "database file system" that the Palm uses has the benefit of speed. Having worked with a good number of real-time (we're talking in the 100-10Hz range) OSs in the last decade, I noticed that they all used very simple file systems based on fixed length record sizes. Later, when I actually worked on an emulator for one of these OSs, I was amazed at how much overhead goes into maintaining a file system.

But I do see the need. However, speed is still important. I have a Zaurus SLC-760 and I use the SD card slot as my main data drive. Reading documents off this is horribily SLOW compared reading the same documents on my Palm. Part of that is the file system overhead, but most of the slowness is the fact that many of these document formats are horribly bloated.

What works on a PC is not necessairly good for a handheld. Case in point: PDF. Great PC format, awful PDA format. There's simply too much unnecessary information in it.

I don't have a solution. But you may be on the right track. WordSmith on the Palm will write the document to an .rtf format when you save to the SD card. It will also process (most) .rtf files that are written to the SD card.

6:30 PM  
Blogger Jonathan Hays said...

While it's true that it may be slow due to bloat, the primary reason your SD card is so much slower is the type of memory that is used. The SD card is what is known as NAND RAM and it is just plain old slower than the volatile memory that the Palm uses. Interestingly enough, the T5 and the 650 have both NAND and volatile RAM. The volatile RAM exists to speed up the NAND RAM reads and writes.

9:03 PM  
Blogger Tam Hanna said...

Hi ron and jonathan,
you are indeed right about how a file system can bloat a bit-RTOS's can indeed have problems with FAT et al.
However, a Palm Os organizer is NOT a real-time machine-the user is happy if he gets a 1/60th of a second response time!
To Jonathan: You are right here too-NAND RAM always is way slower than the internal RAM, which can be accessed in full processor bandwith(more-less, my T3 has it at 100MhZx?bits). An SD card is accessed over a 1bit wide bus running at max 50MhZ(I think).
Best regards and thank you!
Tam Hanna

2:33 PM  
Anonymous Helge said...

The Palm has no file system may only be the view of someone who is sued to DOS or Windows.
Locating a file in a folder is nothing more than a attribute, PalmOS has attributes as well, call it creator ID for example.

4:04 PM  
Blogger Tam Hanna said...

Hi helge,
I meant the record limitation of 64k, the database structure, etc...
Best regards
Tam Hanna

12:12 AM  
Blogger Adi said...

Oes Tsetnoc one of the ways in which we can learn seo besides Mengembalikan Jati Diri Bangsa. By participating in the Oes Tsetnoc or Mengembalikan Jati Diri Bangsa we can improve our seo skills. To find more information about Oest Tsetnoc please visit my Oes Tsetnoc pages. And to find more information about Mengembalikan Jati Diri Bangsa please visit my Mengembalikan Jati Diri Bangsa pages. Thank you So much.

4:22 AM  
Anonymous Nike shox shoes said...

From an early age, on the fear of regret. Because the teacher said that the world did not sell drugs to regret. So, has been working, so no regrets

3:22 AM  

Post a Comment

<< Home