130
Память является одним из наиболее критических ресурсов PDA, и в
то же время – наиболее быстро наращиваемым. За время существования
PDA Palm и PalmOS доступные объемы памяти в устройстве возросли от
512 Кбайт до 8 Мбайт. Память в устройстве Palm есть оперативная (RAM)
и постоянная (ROM). Вся память расположена на карте памяти, на карте
может размещаться как ROM, так и RAM–память или обе вместе.
Содержимое обоих видов памяти сохраняется даже при "выключении"
PDA (переводе его в спящий режим). Архитектура памяти Palm 32-битная.
Каждой карте памяти отводится адресное пространство 256 Мбайт. ROM и
RAM–память карты разбита на "кучи", размер каждой кучи – не менее 64
Кбайт. Деление памяти на кучи – условное, оно производится ОС и никак
не отражается на аппаратной архитектуре памяти. В каждой куче
содержится либо ROM, либо RAM–память, но не обе вместе. В RAM–
памяти на внутренней карте памяти PDA реализована "динамическая
куча". Фактически это и есть оперативная память. В этой куче ОС
размещает динамические данные: глобальные переменные, динамические
системные области памяти, стек, кучу приложения и сами коды
приложений, загружаемых из дополнительных карт. Размер динамической
кучи зависит от объема памяти на внутренней карте PDA и от
предустановленного программного обеспечения. Каждая куча имеет свой
номер-идентификатор. Динамическая куча имеет номер 0. Эта куча
инициализируется автоматически всякий раз при рестарте системы. Все
другие кучи инициализируются собственными циклами переустановки.
Память распределяется порциями (chunk) переменной длины. Порция
располагается в одной куче, выравнивается по границе 2-байтного слова и
занимает непрерывную область памяти – от 1 байта до 64 Кбайт. Порции в
RAM–памяти бывают динамическими или хранимыми, перемещаемыми
или неперемещаемыми. Порции в ROM–памяти бывают только
неперемещаемыми и хранимыми.