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/