Виртуальная память на iPhone

Как мы знаем, наш телефон по всем своим техническим характеристикам очень близок к полноценному взрослому компьютеру, но есть два основных аспекта, которые не дают нам назвать его «честным карманным компьютером».

Первый – политический. Разумеется – это политика Apple, которая не желает, что бы iPhone считался компьютером, т.к. тогда ей придётся придумывать гору красивых маркетинговых объяснений, почему она тратит столько усилий на то, чтобы защитить айфон от установки стороннего ПО и ОС.

Второй – технический. Операционная система нашего телефона имеет уникальный (среди современных КПК) механизм работы с оперативной памятью – мы его уже описывали на наших страницах, и с тех пор он, надо сказать, очень не сильно изменился. Этот механизм являет собой техническое воплощение политической идеи Apple – именно он определяет такие особенности операционной системы как стабильность и скорость, однако платить за его использование приходится очень ограниченной многозадачностью и периодическими вылетами приложений, которые по каким-то причинам начинают потреблять слишком много памяти (классический пример здесь – приложение Safari, которое при загрузке определённого количества контента в табах стабильно вылетает на 2G и 3G). Разумеется, двойное увеличение объёма оперативной памяти в 3G[S] очень сильно повлияло на стабильность и комфортную жизнь приложений – теперь в системе уже не такой жёсткий дефицит памяти, и злобный демон по имени Сторожевой Пёс (MobileWatchdog) не приходит к ним с требованием отдать память или умереть. Однако и разработка приложений не стоит на месте – и я не исключаю ситуации, что появится прожорливое приложение, которому и в 3G[S] будет тесно.

Кроме того, в телефонах 3G и 2G ситуация с памятью по-прежнему острая. А особенно, в телефонах, на которых сделан джейлбрейк. А особенно в телефонах с джейлбрейком, на которых установлен менеджер тем WinterBoard.

Почему же таких проблем не возникает в других мобильных платформах? Главным образом, из-за того, что в них в том или ином виде реализован тот же механизм работы с оперативной памятью, который реализован в операционных системах «больших» компьютеров. Вспомните, что происходит в вашей винде, если вы открываете слишком много приложений одновременно? Правильно. Да ничего не происходит – только тормозить всё начинает, но тем не менее, как правило, вы не получаете сообщений вроде «У операционной системы закончилась память, поэтому мы грохнули ваше приложение». Происходит это именно за счёт использования виртуальной памяти. Что это за зверь такой? В двух словах – это механизм, позволяющий операционной системе сохранять некоторые куски занятой памяти (страницы) на жёсткий диск (в случае карманного компьютера – на основное хранилище, то, чего у ваших айфонов 8, 16 или 32ГБ – т.е., много).

Читайте также  OS 4.0 Привязка фотографий к карте

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

Попытки реализовать этот механизм предпринимались сторонними разработчиками несколько раз – это так называемые проекты VM (для прошивок 2.х.х) и VM2(для 3.х.х). И даже сейчас можно установить соответствующие пакеты на ваши телефоны и запустить механизм виртуальной памяти на айфоне (2G и 3G). Однако, я бы очень не рекомендовал этого делать пользователям, не считающим себя доками в начинке айфона и играющим в игры, т.к. весьма велики шансы, что вам потребуется восстанавливать после этого прошивку телефона. Ну и, разумеется, установка такого расширения – несмотря ни на какие уверения обратного – не увеличит скорости работы ваших приложений, наоборот, с изрядной долей вероятности, в играх появятся очевидные задержки, которые будут весьма вас раздражать.

Таким образом, заключением станет следующее: виртуальная память для айфона – очень интересный проект и у него, очевидно, есть перспектива, но относиться к нему следует с исключительнейшей осторожностью – т.к. он вносит кардинальные изменения в основной принцип среды iPhone OS X.

Источник: iphones.ru

Лучшее для себя