Memory and the Modern Palm
Continued from Previous Page
The dynamic heap size is important, because it limits how
much an individual program can do. Games and other
graphics or data-intensive apps tend to use a lot of
dynamic memory, so the complexity and size of the
graphics often depends on how much is available to the
program. You might encounter this limit, say, in a paint
program whose drawing buffers are stored on the dynamic
heap. The size of the image you are working with may
only grow so large before you run into the memory limit.
You can't delete programs to make more space in this
instance, because that would only free up space on the
storage heap, not the dynamic heap.
The situation gets more complex when you consider the new
higher-resolution Palm OS devices or add-on system
extensions, commonly called "hacks". The new HandEra 330
and color Sony Clie handhelds feature higher resolution
screens than previous models. Supporting these screens
require larger video buffers and graphic bitmaps, all of
which use more memory from the dynamic heap. This means
that programs which push the limits on standard Palms may
not run in higher-resolution simply because they
run out of dynamic memory.
A similar problem occurs while running system extensions,
commonly called Hackmaster apps, or "hacks". While Palm
OS was not designed to support multitasking of
applications, these add-on programs provide a small
degree multitasking by allowing you to run pop-up
programs, system enhancements, and background tasks while
still inside another application. The problem is that
hacks need to operate using space on the dynamic
heap, space it shares with the current application and
any other active hacks. If the current app or any single
hack ever uses too much memory for itself, or if simply
the total storage needs of the app and all hacks gets
too large, the result is typically a system crash.
Even more critical is a special part of the dynamic heap
known as the "stack". The details of how the stack is
used are impressively boring to non-programmers, so we
needn't go into to that here. What's important is that
hacks tend to rely on the stack due to how they interface
with Palm OS. The stack is normally only 3.5k in size,
so it is easy to exhaust all stack memory, causing
a "stack overflow" error or crash when running a lot of
hacks. To maintain stability, you need to carefully
choose which hacks and programs to run together.
REMOVABLE MEDIA
Removable media storage cards are relatively new to the
Palm OS platform, having first premiered on the
Handspring Visor in the form of an 8 Megabyte flash
Springboard module. Since then, compact flash, Memory
Stick, SmartMedia, SD, and MMC cards have all become
available. All removable media cards on the Palm utilize
flash ROM chips, but how they interface with the OS
varies in many important ways from the flash memory used
to store the operating system.
The Visor Springboard module behaves most like "normal"
memory because it is formatted exclusively for the Palm
and is directly accessible by the microprocessor. When
the flash module is inserted, the OS simply adds the
flash memory onto the storage heap, and files stored
there are instantly available to all applications with
little or no modification. Programs only need to
recognize that the files it finds there are potentially
removable and cannot be modified, a relatively small
modification for most apps.
>> Continued on Next Page...
News Home
| Page 01
| Page 02
| Page 03
| Page 04
| Page 05
|