3PPC.net
Старый 17.04.2008, 02:17 #1
Аватар для Витюха
Витюха Витюха вне форума
Гвардия форума
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Витюха Витюха вне форума
Гвардия форума
Аватар для Витюха
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Устройство: Нет, но будет
Почему проподает память в WM 5.0...

При покупке КПК или коммуникатора с новой операционной системой Windows Mobile 5.0 вам говорят, что все файлы, программы и документы теперь хранятся во Flash ROM, а RAM целиком отдана под выполнение программ. Но вы включаете компьютер и обнаруживаете, что вместо, скажем, 64 МБ RAM доступно около 45 МБ. Что это – брак, обман или что-то еще? Ситуацию проясняет один из разработчиков Windows Mobile – Майк Каллигаро.


Пояснение: в данном тексте под термином ROM понимается Flash ROM (перезаписываемая ROM) – MC Online.


Прежде чем объяснить странную пропажу оперативной памяти в Windows Mobile 5.0, необходимы некоторые пояснения относительно типов и технологий памяти, используемых в КПК.

RAM против ROM

Все аббревиатуры в данном тексте относятся к различным типам памяти. Память в мобильных устройствах нужна для хранения самой разной информации. Например, телефонные номера, изображения, музыка – все это требует памяти. Если не принимать во внимание откровенно устаревшие технологии и новомодную экзотику, еще не дошедшую до массового рынка, то нам доступны лишь два типа памяти – RAM и ROM. В целом они схожи: Они схожи в том, что могут хранить информацию. Различия же между ними заключаются в скорости доступа и потреблении энергии.

-RAM: очень быстрая память, но потребляет много энергии

-ROM: гораздо медленнее RAM, зато требует очень мало энергии

Важно и то, что для сохранения собственного содержимого RAM постоянно требуется энергия. Для ROM это – совершенно необязательное условие. Другими словами, при разряде аккумуляторной батареи информация из RAM будет утеряна, а данные, хранимые в ROM останутся невредимыми.

Как это работает?

До появления Windows Mobile 5 этот вопрос был весьма запутанным. Сейчас же с появлением технологии постоянного хранения данных (Persistent Storage) все становится намного проще.

ROM – это место, где хранится информация. Все программы, операционная система хранятся в ROM. Ваши личные данных также хранятся в ROM. Те же самые SD и CF карты памяти тоже представляют собой ROM. Представьте себе ROM-память наладонника, как SD-карту, которую вы не можете вынуть. Это – самое точное сравнение.

RAM – это область памяти для запуска (выполнения) программ. Когда вы включаете КПК, программы из ROM загружаются в RAM, где они и будут выполняться. Например, при прослушивании музыки, небольшой фрагмент композиции сначала загружается из ROM в RAM – для воспроизведения. Затем этот фрагмент освобождает место для следующего. Когда вы читаете электронное письмо, его текст загружается из ROM в RAM и только после этого отображается на экране. Когда вы захотите прочитать следующее письмо, текст старого будет удален из RAM, а на его место будет загружен новый. Возврат к предыдущему письму потребует выгрузить текущий текст из памяти и снова обратиться к ROM за требуемыми данными.

Суммируя вышесказанное, объем RAM определяет, какое количество информации может обрабатываться на устройстве в момент времени. Объем ROM указывает, какое количество информации может храниться на устройстве.

Вы также можете представить себе принцип работы RAM и ROM в КПК с Windows Mobile на примере обычного настольного ПК. Если прибегнуть к такому сравнению, то RAM не меняет своего названия, а ROM предстает аналогом жесткого диска.

Сколько памяти нужно?

Аппаратные особенности накладывают свои, вполне естественные ограничения на объем встроенной памяти. Отклонения от этих величин происходят только в исключительных случаях. Начиная с 32 МБ возможные объемы можно получить простым удвоением: 32 МБ, 64 МБ, 128 МБ, 256 МБ и т.д.

Обычное устройство с Windows Mobile 5.0 обладает 64 МБ RAM. Но и 32 МБ можно считать вполне разумной величиной. Особенно, если в устройстве используется NOR ROM (подробнее о NOR – ниже). Можно поспорить с этим утверждением, говоря, что "памяти много не бывает". Однако повышенное потребление энергии, присущее RAM, указывает на обратное – слишком много памяти бывает. И это – причина того, почему крайне редки КПК со 128 МБ RAM. Такой объем просто неразумен, из-за высокого потребления энергии, хотя и может реализовываться в КПК для требовательных пользователей.

Обычное устройство с Windows Mobile 5.0 обладает 64 МБ ROM. И в данном случаев ограничение на объем лишь одно – цена. Больше ничто не является препятствием для увеличения объема ROM. Поэтому и при наличии средств, выбирайте модель с максимальным объемом ROM.

Существует множество версий Windows Mobile 5.0, как-то: Smartphone, Pocket PC, Pocket PC Phone Edition и некоторые их вариации. Локализация также вносит свою лепту ( (например восточные языки требуют больше памяти). Но жестким правилом стало то, что ПО, поставляемое вместе в КПК, занимает около 32 МБ. Таким образом, если вы покупаете устройство с 64 МБ ROM, то получите примерно 32 МБ ROM для собственной информации. Покупая КПК со 128 МБ ROM, вы получите около 96 МБ свободной памяти.

Не удивляйтесь, однако, что в свежекупленном наладоннике с 64 МБ ROM, вам останется 30 МБ или менее доступной памяти. Во-первых, приведенные цифры – приблизительны, а во-вторых, каждый производитель подходит к разработке устройства индивидуально, что и обуславливает расхождение в показателях.

Это, в общем-то и все, что относится к "подводным камням". При прочих равных, устройство с 32 МБ RAM и 128 МБ ROM для меня даже более привлекательно, чем устройство с 64 RAM и 64 ROM. А еще более интересный вариант – 64 МБ RAM и 256 МБ ROM. В последнем случае, разумеется, цена будет существенно выше.

Но обратите внимание на то, как продавцы и производители говорят об этом. Кто-нибудь заявит о том, что "у нашего устройства 64 МБ ROM", а другой скажет, что "в нашем устройстве 30 МБ памяти для хранения пользовательских данных". Учитывая природу маркетинга, можно не сомневаться, что в рекламе вы увидите самые большие цифры. Но обращать внимание нужно на самые маленькие.

Как насчет других аббревиатур?

Если считать, что с ROM и RAM мы разобрались, теперь можно перейти к тому, что такое NAND и NOR. Это два основных типа ROM. Они используются одинаково и все, что было сказано касательно ROM распространяется целиком и полностью верно в их отношении. На самом деле, для большинства пользователей не играет роли, какой тип ROM используется в их КПК. Но о различиях стоит знать.

NOR: большая скорость чтения, меньшая скорость записи

NAND: меньшая скорость чтения, но большая скорость записи

Впрочем скорость в данном случае понятие относительное. Оба типа памяти по быстродействию сильно проигрывают RAM. Есть только одно важно отличие между этими технологиями. NOR позволяет делать то, что называется "execute in place" (XIP) (дословный перевод: выполнять на месте). Теперь вспомните то, о чем мы говорили выше. Для запуска программы сначала необходимо сначала загрузить ее в RAM, и только после этого – запустить. NOR позволяет выполнять приложения напрямую из ROM, без необходимости загружать их в RAM. Это значит, что КПК с данным типом памяти потенциально требует меньше RAM. Но нужно отметить, что XIP применяется только для приложений и не действует в отношении изображений или музыки. NAND-технология не поддерживает XIP, но этот недостаток компенсируется ее более низкой ценой.

Сочетание этих типов памяти в одном устройстве привело бы к появлению идеального КПК. Так как NAND имеет большую скорость записи, а NOR большую скорость чтения, такой наладонник получил бы 64 МБ NAND и 64 МБ NOR ROM. При этом все программы хранились бы в NOR, а все пользовательские данные – в NAND. Использование XIP позволило бы "урезать" RAM с 64 МБ до 32 МБ, а вместе с этим – и потребление энергии. Кроме того, XIP ускорило бы запуск программ, которые в этом случае не нужно предварительно копировать в RAM. Отличный был бы КПК.

Кстати, все SD и CF карты памяти производятся с применением NAND-технологии. Именно поэтому они не позволяют запускать программы методом XIP.

Куда подевалась память?


Предположим, вы только что приобрели новенький КПК с Windows Mobile 5.0. На упаковке указано, что у него 64 МБ RAM. Вы включаете компьютер, открываете контрольную панель с информацией и выясняете, что на самом-то деле в «машинке» всего около 50 МБ RAM. Возможно, ошибка? Следует ли волноваться по этому поводу? На оба вопроса можно ответить коротко: нет. И вы скоро узнаете, почему.

Без фокусов


Основная причина, приводящая к непониманию, заключается в том, что панель управления берет в расчет лишь тот объем RAM, на который может влиять пользователь. То есть, она показывает лишь список запущенных владельцем компьютера программ. Но RAM используется и для других, скрытых от пользователя задач. Логика этого решения проста: если пользователь не может повлиять на данные процессы, зачем ему их видеть? Возможно, вам бы хотелось видеть список "скрытых" приложений и полную карту RAM, но в данном случае разработчики Windows Mobile 5.0 с вами не согласны.

В целом, определенно можно сказать только то, что RAM используется для таких программ, которые вы в любом случае вряд ли бы захотели закрыть. Например, это телефон, органайзер, драйверы оборудования.

Часть этих программ – дело рук Microsoft. И компании интересны мнения пользователей о том, какие из постоянно работающих приложений им не нужны. Но помните, что стоит отключить телефон – и вы не сможете принимать и совершать звонки, отключите органайзер – и вы не увидите уведомлений о предстоящих делах на главном экране.

Однако некоторые постоянно работающие приложения – наследство от оператора сотовой связи или производителя.

На что не может повлиять пользователь


Итак, куда же подевались 14 МБ? Ответ зависит от конкретной модели, поэтому точные цифры привести невозможно. Но есть ряд задач, помимо списка пользовательских приложений, требующих RAM. Из них можно выделить пять основных.

Page Pool (Буферная память)

Приложения используют RAM двумя способами. Есть код, который выполняется, и есть данные, которые создаются во время выполнения программы. На устройствах с NOR-памятью программы выполняются напрямую из ROM, минуя первоначальное копирование в RAM. Этот процесс называется XIP и о нем вы читали выше.

В случае с NAND-устройствами XIP не работает, поэтому программы сначала копируются в RAM, и лишь потом запускаются. Если Page Pool нет, то в RAM копируется все приложение. Page Pool – это механизм, ограничивающий размер кода, загружаемого в RAM. С его помощью из памяти можно выгружать фрагменты программы, которые не используются определенное время, и снова загружать их по мере необходимости. Без Page Pool такое управление RAM невозможно.

В типичном устройстве с Windows Mobile 5.0 под Page Pool отводится 4.5 МБ RAM.

Radio Stack (Протоколы радиосвязи)


Устройства с функциями мобильного телефона используют довольно сложный набор программных средств для работы в сотовых сетях. В некоторых устройствах радиоблок представляет собой отдельное устройство с собственными RAM и ROM. В других необходимый код хранится в обычной флэш-памяти. В последнем случае для его выполнения требуется XIP или же предварительное копирование в RAM. И, если они копируются в RAM, это значит, объем доступной памяти этого типа уменьшается.

Для протоколов сотовой связи обычно выделяется 4 МБ RAM.

DMA Buffers (Буфер DMA)


Некоторые компоненты составляющие устройства могут обмениваться данными с RAM минуя процессор. Эта технология называется Direct Memory Access (прямой доступ к памяти) или DMA. DMA очень эффективен, не загружает процессор и позволяет передавать гораздо большее количество данных в единицу времени, обычно экономя при этом энергию.

Но размер буферной памяти для DMA лучше всего задавать еще на стадии загрузки операционной системы. Это служит гарантией того, что DMA будет работать в тот момент времени, когда он потребуется. КПК на базе Pocket PC проделывают это уже без малого десятилетие. В прошлом основное применение DMA сводилось к записи звука. Для этого не нужно много памяти, поэтому и буферная область была невелика. Но в случае с видео поток данных гораздо больше, а значит нужно больше DMA-буферов.

В свою очередь, производители наладонников, устанавливают размер DMA-буферов в зависимости от того, для чего предназначено то или иное устройство. Если главная цель – работа с фотографиями, то можно использовать небольшой объем буферной памяти. Для видео под DMA-буферы будет отведено больше памяти. А для видеоконференций – еще больше.

В результате, размеры DMA-буферов находятся в диапазоне от 300 КБ до 6 МБ. В типичном устройстве с функциями видеозаписи для этой цели будет отведено около 4 МБ RAM.

XIPKernel (Фрагменты кода ОС)

Некоторые фрагменты кода операционной системы выполняются только посредством XIP. В случае с NOR-памятью проблем не возникает. Но если в устройстве используется NAND, то код сначала будет скопирован в RAM – как и в случае с другими программами. Особенность заключается в том, что после загрузки ОС не позволяет определить, где именно выполняется данный фрагмент кода – в RAM или ROM. А поэтому по умолчанию предполагается, что он выполняется из ROM, и требуемый ему объем памяти не учитывается.

XIPKernel требует от 1.5 до 2 МБ RAM.

Frame Buffer (Буфер кадров)

Часть RAM хранит картинку, которую вы видите на экране. Для большинства устройств справедливо следующее: каждая точка на экране описывается двумя байтами. Обычный Pocket PC КПК имеет разрешение экрана в 320 х 240 точек. Это требует 150 КБ памяти. Соответственно, для экрана с разрешением в 640 х 480 точек требуется 600 КБ. Иногда для улучшения производительности применяется до двух буферов кадра. Это занимает около 1.2 МБ RAM.

А говорили, что 32 МБ будет достаточно!

Действительно, наладонник с 32 МБ RAM выглядит не слишком реалистично, если учесть, что 14 МБ отводится под системные нужды. Но важно понять, что то, о чем говорилось выше, тесно связано с аппаратными особенностями. Например, если в устройстве используется NOR ROM и XIP, то размер Page Pool может быть меньше. Кроме того, XIP освободит RAM при загрузке кода ядра операционной системы и протоколов сотовой связи. Если наладонник оптимизирован не для видео, а для фото, то ему потребуется и меньший DMA-буфер. А если разрешение дисплея 240 х 240 точек, а не 640 х 480, то и кадровый буфер будет пропорционально уменьшен.

Тонкая настройка этих параметров зависит от производителя, который проводит адаптацию к конкретному устройству. И производитель принимает вполне осознанные решения, балансируя между скоростью/производительностью и максимальным количеством выполняемых приложений.

Конечно, вы можете сказать, что вам не нужно, чтобы эти решения принимали за вас. Но, согласитесь, глупо предъявлять подобные претензии к тем, кто разрабатывает и выпускает КПК, а также создает для них драйверы. Это не в пример сложнее, чем просто задать размер DMA-буфера.



Автор: Mike Calligaro

Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


Перевод: Алексей Баранов (baranov at gameland.ru)

Тоже слегка по теме...Что такое Pool Size?

P.S. если ненужно..снесите...
__________________
Подпись...просто чтоб пусто не было...
Витюха вне форума   Ответить с цитированием Цитировать выделенное
Старый 17.04.2008, 02:24 #2
лисtopad
Гость
 
Сообщений: n/a
лисtopad
Гость
 
Сообщений: n/a
Устройство: нет кпк
ВитюХА,+1, то же самое можно сказать и про вм6
  Ответить с цитированием Цитировать выделенное
Старый 17.04.2008, 02:45 #3
Аватар для Витюха
Витюха Витюха вне форума
Гвардия форума
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Витюха Витюха вне форума
Гвардия форума
Аватар для Витюха
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Устройство: Нет, но будет
lenhenster,
..точно..и про WM 6.1...может в WM 7 изменят что?..поживём - увидим - поюзаем...
__________________
Подпись...просто чтоб пусто не было...
Витюха вне форума   Ответить с цитированием Цитировать выделенное
Старый 17.04.2008, 08:40 #4
Аватар для Hikaru
Hikaru Hikaru вне форума
Ведающий Протяженность Сущности
 
Регистрация: 01.12.2007
Адрес: в Легендах...
Сообщений: 877
Репутация: 116
Hikaru Hikaru вне форума
Ведающий Протяженность Сущности
Аватар для Hikaru
 
Регистрация: 01.12.2007
Адрес: в Легендах...
Сообщений: 877
Репутация: 116
Устройство: Несколько устройств
Информация ценная... У меня вопрос есть по теме: у меня РАМ съедается, а чем не могу врубиться... После перезагрузки, скажем, 10мб, запускаешь несколько прог-соответственно уменьшается, но после полного закрытия оных памяти остается, допустим 8мб. т.е. система в начальном положении, а мб куда-то уходят. Если продолжать работать с прогами и после их закрытия памяти останется еще меньше!? Короче вопрос, что ее сжирает и почему она не востонавливается к исходному?
Hikaru вне форума   Ответить с цитированием Цитировать выделенное
Старый 17.04.2008, 09:27 #5
Аватар для Витюха
Витюха Витюха вне форума
Гвардия форума
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Витюха Витюха вне форума
Гвардия форума
Аватар для Витюха
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Устройство: Нет, но будет
Sniper,
Можно только препологать...скорее всего остаётся в кеше..для последующих быстрых запусков...Тоже самое наблюдаю постоянно, уплывает куда-то 2-3мб, приходится освобождать утилитами типа SKtools...
__________________
Подпись...просто чтоб пусто не было...
Витюха вне форума   Ответить с цитированием Цитировать выделенное
Старый 19.04.2008, 19:58 #6
Аватар для l1f3h0us3
l1f3h0us3 l1f3h0us3 вне форума
Старожил
 
Регистрация: 18.10.2007
Сообщений: 288
Репутация: 36
l1f3h0us3 l1f3h0us3 вне форума
Старожил
Аватар для l1f3h0us3
 
Регистрация: 18.10.2007
Сообщений: 288
Репутация: 36
Устройство: нет кпк
еще возможно виноват разработчик программы, непозаботившийся о том, чтобы его программа после закрытия освободила выделенные для нее ресурсы... кроме того это винда, утечки памяти свойственны и ББ... За информацию спасибо!
l1f3h0us3 вне форума   Ответить с цитированием Цитировать выделенное
Старый 21.04.2008, 08:28 #7
Аватар для Hikaru
Hikaru Hikaru вне форума
Ведающий Протяженность Сущности
 
Регистрация: 01.12.2007
Адрес: в Легендах...
Сообщений: 877
Репутация: 116
Hikaru Hikaru вне форума
Ведающий Протяженность Сущности
Аватар для Hikaru
 
Регистрация: 01.12.2007
Адрес: в Легендах...
Сообщений: 877
Репутация: 116
Устройство: Несколько устройств
Кстати, самое интересное, что утилиты аля SKTools, MemMaid и Pocket Mechanic не всегда могут освободить память Механик оптимизирует последнюю прогу (или пытается высвободить) и всё; Тулс я вообще не заметил чтоб что-то делал... только ММ остается, но и он невсемогущ
Вынужден винить только разработчиков
Hikaru вне форума   Ответить с цитированием Цитировать выделенное
Старый 21.04.2008, 08:35 #8
Аватар для Витюха
Витюха Витюха вне форума
Гвардия форума
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Витюха Витюха вне форума
Гвардия форума
Аватар для Витюха
 
Регистрация: 22.01.2008
Адрес: Паталок Палаты№6
Сообщений: 1,964
Репутация: 481
Устройство: Нет, но будет
Sniper,
А в СКтулс поставь в настройках FreeAP Ram коофициент воздействия 3..по умолчанию стоит 6..я поставил, освобождает до 2мб..правда прям не совсем как после софт-резета, но нормально...
__________________
Подпись...просто чтоб пусто не было...
Витюха вне форума   Ответить с цитированием Цитировать выделенное
Старый 26.04.2008, 21:47 #9
Аватар для разведчик Штирлиц
разведчик Штирлиц разведчик Штирлиц вне форума
Новичок
 
Регистрация: 22.01.2008
Адрес: Хельсинская Раболатория Естественных Наук Ь
Сообщений: 14
Репутация: 18
разведчик Штирлиц разведчик Штирлиц вне форума
Новичок
Аватар для разведчик Штирлиц
 
Регистрация: 22.01.2008
Адрес: Хельсинская Раболатория Естественных Наук Ь
Сообщений: 14
Репутация: 18
Устройство: Несколько устройств
Программой Quick Menu, (функция: "освободить память") оч удобно память чистить от левых процессов, свободно 30.5, запускаю плеер, хавает 11.3, закрываю плеер-свободно 27.0, чищу память-свободно 29.7
разведчик Штирлиц вне форума   Ответить с цитированием Цитировать выделенное
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
shturmann link500 память Hwost Помощь и решение проблем 1 24.08.2012 11:08
На HTC HD2 постоянно утекает память. cyMKeH Помощь и решение проблем 11 12.06.2012 18:35
Почему PocketC# не идёт на WM6.1-6.5 ? DimkaM Программирование под Windows Mobile 2 11.03.2011 18:18
Почему мою тему удалили?? olimo Помощь и решение проблем 0 02.09.2008 03:15
Проподает карта памяти Baseke Архив 6 27.08.2008 12:42

 


Текущее время: 01:20. Часовой пояс GMT +3.


Powered by vBulletin®
Copyright ©2000 - 2017, vBulletin Solutions, Inc.