Очень часто можно услышать вопрос: у меня памятьRAM или ROM у коммуникатора столько то мегабайт, а доступно только столько то мегабайт! Куда пропадает память в Windows Mobile? Давайте разбираться!
RAM vs ROM
Данными обозначениями описывает разные типы памяти в устройствах. Память подразделяют на два вида - RAM и ROM. Отличаются они тем, что RAM имеет высокую скорость и высокое потребление энергии, а ROM - низкую скорость с низким потреблением. Поэтому для сохранности информации в RAM требуется постоянная подача энергии. И когда батарейка садится, то данные записанные в RAM стираются, а в ROM - сохраняются.
Память RAM - ROM - принципы работы
ПамятьROM предназначена для хранения личных данных, программ и операционной системы. Карты памяти тоже являются ROM. ПамятьRAM предназначена для выполнения программ. При необходимости программы из ROM выгружаются в RAM. Если подвести итог - RAM определяет сколько свободной памяти есть для запуска программ, а ROM - сколько место доступно для хранения информации. ПамятьROM
разделяется на два типа: NAND и NOR. У NOR выше скорость чтения, а у
NAND - записи. Но не стоить забывать, что вне зависимости от вида, любая
памятьROM медленее RAM. Плюс применения NOR состоит в том, что запускать приложения можно прямо в ROM, не копирую приложение в RAM.
Это технология называется "execute in place" или XIP. NAND подобную
технологию не поддерживает, но за то стоимость этой памяти значительно
ниже! Кстати, карты памяти CF и SD построены на технологии NAND -
поэтому запустить на них приложение, использую XIP не получится.
Память - сколько нужно?
Память для устройств предлагается размерами кратными 32. Т.е. 32 Мб, 64, 128, 256 Мб и т.д. Как правило коммуникаторы с Windows Mobile на текущий момент несут на борту либо 128 Мб, либо 256 Мб RAM. Но как правило при большем количестве установленной памяти, увеличивается и ее энергопотребление. Что касается ROM - то тут в среднем для устройств Windows Mobile устанавливают либо 64 Мб, либо 128 Мб. В последних устройствах устанавливается ROM
величиной 192 Мб. Программное обеспечение коммуникатора занимает
порядка 32 Мб. Из этого можно сделать вывод - если у коммуникатора
заявлено 128 Мб - то свободным останется около 96 Мб.
Но значение
свободной памяти может меняться. Каждый производитель подходит
индивидуально к разработке ПО, и поэтому при одинаковых характеристиках
количество свободной памяти будет отличаться.
Память - куда пропадает?
Итак, перейдем к вопросу куда пропадает память. Когда мы заходим в панель управления, Windows Mobile покажет вам объем доступной для Вас RAM. Но при этом часть памяти RAM используется для выполнения невидимых пользователю задач. Так как эти задачи системные - то Windows Mobile и не показывает Вам эти задачи. И вот некоторые из них:
Page Pool или Буферная память Программы выполняются в RAM
следующим образом: для выполнения служебного кода и для создания
временного буфера для данных программы. Page Pool ограничивает объем
кода загружаемого в RAM. Если программа часть своего кода не использует в течении определенного времени, то RAM очищается от этого фрагмента. В среднем под это отводится 4,5 Мб.
Radio Stack или Протоколы радиосвязи Так
как коммуникатор выполняет функции мобильного телефона, то в своем коде
он использует программы для работы с сотовыми операторами. Иногда в
коммуникаторах используется блок радио с своими ROM и RAM. В случае использования RAM устройства, поэ блок отводится около 4 Мб.
DMA Buffers или Буфер DMA Некоторые компоненты устройства могут обмениваться данными с RAM
минуя центральный процессор. Такая технология носит название Direct
Memory Access - DMA. Ее использование разгружает процессор и экономит
энергию. Использование DMA позволяет ускорить передачу данных. Из-за
различных задач размер RAM выделяемый под DMA составляет от 0,3 до 6 Мб.
XIPKernel или Фрагменты кода ОС Часть кода ОС выполняется используя технологию XIP. При использовании NAND памяти код ОС нужно скопировать в RAM, а затем выполнить. Как правило под эту задачу выделяют 2 Мб.
Теперь вы узнали куда пропадает память вашего устройства, и знаете для чего предназначены ROM или RAM память при использовании Windows Mobile