Менеджер памяти - это программный модуль, управляющий распределением адресуемой памяти на пальме. Адресуемая память - это та память, которую может непосредственно адресовать процессор, та память, которая находится в его адресном пространстве. ОЗУ и ПЗУ являются адресуемой памятью, а память на SD-карте - нет.
С точки зрения менеджера памяти вся память делится на карты памяти (memory cards). Этот термин фактически является устаревшим. Разделение на карты было популярно во времена PalmPro, Palm III и Visorов, когда была реальная возможность добавить специальную карточку с дополнительной памятью. Где-то начиная с PalmV в пальмах перестали делать разъем под дополнительную память. Важно: внешние карты (SD, CF, MS) не являются картами памяти в терминах менеджера памяти. Он попросту ничего о них не знает. В PalmOS 5 фактически термин “карта памяти” был убран.
Каждая карта делилась на кучи (heap). Куча - это большой блок памяти, которая используется единообразно. В разных версиях PalmOS разделение на кучи было свое, поэтому дам некоторую упрощенную схему разбиения карты номер ноль (она же единственная) на кучи:
- Динамическая память (DynamicHeap)
- Хранилище баз в ОЗУ (RAM storage)
- Хранилище баз в ПЗУ (ROM storage)
- Хранилище баз в ПЗУ с помощью JackFlash
Нулевая куча особенная - она используется для временных операций с памятью. Именно в ней выделяется вся память для перемнны