On Wed, Aug 13, 2003 at 07:42:06PM -0000, drvirens wrote:

> Dave, would you please take this opportunity and let us know furhter 
> in this direction ? I have read somewhere that palm devices dont have 
> any MMU. 
> 
> Let me keep it in this way please...My understadning is that Palm OS 
> does not have any virtual memory...so its all segment/chunk oriented 
> stuff. Does that the reason why any resource in Palm cannt be larger 
> than 64K ? And then....cannt I hide the physical addresses behind the 
> handles ? I thought a handle is really a pointer to pointer. I 
> particularly wanna know more on how does the system make up for lack 
> of a typical MMU ?

The Dragonball processor doesn't have a MMU, but the existence or lack
of a MMU is not really related to how the PalmOS memory manager
works. Grossly simplified, an MMU is used to map a memory address to
some other address. This is useful in a multitasking OS so that each
process thinks that its memory starts at address 0. The MMU takes care
of mapping the process' virtual address to a real physical address.

At a higher level, you still need something to manage the memory space
so that when an app calls malloc, or MemHandleNew, or whatever
(including indirect calls through the new operator), the app gets
something, and when the app frees up the memory (via free,
MemHandleFree, delete, etc.), the space is again marked as free. This is
also a called a memory manager, but has nothing to do with the MMU.

A memory chunk is just an arbitrary name that the PalmOS developers gave
to a piece of memory that is managed by the PalmOS memory manager. Every
OS call that allocates memory (MemPtrNew, MemHandleNew, MemHandleResize,
DmNewRecord, DmResizeRecord, etc.) will eventually get a chunk that the
memory manager has decided it can have.

The 64K limitation I think is an arbitrary choice. If I recall
correctly, the chunk header allows up to 16M chunks, but they limit it
to 64K because the hotsync protocol only supports up to 64K record
sizes.

-- 
Dave Carrigan
Seattle, WA, USA
[EMAIL PROTECTED] | http://www.rudedog.org/ | ICQ:161669680
UNIX-Apache-Perl-Linux-Firewalls-LDAP-C-C++-DNS-PalmOS-PostgreSQL-MySQL

Dave is currently listening to Elvis Costello - No Dancing (My Aim Is True)

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to