Память в PalmOS используется совсем не так как в десктопах. Это создает некую путаницу при использовании программ, при попытках запустить их с карточки итд.

Память в пальме можно разделить по способу использования и по методам доступа

Первые два вида памяти обязаны лежать в ОЗУ и быть непосредственно адресуемы процессором. Такая архитектура (а только эти два вида памяти и были доступны до появления пальмов с карточками) породила очень специфические исполняемые файлы. Что такое исполняемый файл с точки зрения PalmOS?

Внешняя память может располагаться где угодно - на внешней карточке, или (как у UX-50) в оперативной памяти. Но поскольку VFS не имеет ни малейшего представления о том, где располагается конкретный диск, то все данные с него будут копироваться в память баз для запуска оттуда. С другой стороны от внешней памяти в основной памяти может быть плюс - на такой диск можно копировать обычные файлы, которые невозможно скинуть в память баз.

Таким образом, существующие принципы приложений в PalmOS привели к тому что:

Интересным вариантом работы с программами являются запаковщики. Эти программы пакуют исполняемый ресурс 'code' 1 и подменяют его на свой код-заглушку. При запуске заглушка распаковывает действительный код и исполняет его. При таком запуске исчезает принцип XIP, поскольку код программы оказывается скопированным в кучу или памят баз, но зато экономится место для остальных баз.

Как происходит запуск програм с карточки?

А как все это реализовано в PocketPC? Там отсутствует память баз, но всегда существует диск внешней памяти в ОЗУ (storage). Тем самым