Обзор мобильных платформ (актуализация 2012 год)
Александр Зацепин, технический директор Протекшен Технолоджи Ресеч
Эта статья описывает аппаратно-программное разделение рынка мобильных платформ. Под "мобильной платформой" подразумеваются массовые устройства переносного форм-фактора с автономным источником питания, предназначенные для решения широкого спектра общих задач: развлечения, коммуникации, деловая активность. В статье не рассматриваются настольные персональные компьютеры и их портативные версии (ноутбуки/нетбуки/и т.п.)
Информация в статье собрана из публичных источников по состоянию на первую половину 2012-го года. Информация в статье приводится с учетом потребностей разработчиков ПО для мобильных устройств.
Содержание
1. Процессорные архитектуры
1.1 ARM
1.1.1 Версии
1.1.1.1 ARMv4
1.1.1.2 ARMv5
1.1.1.3 ARMv6
1.1.1.4 ARMv7
1.2 MIPS
1.2.1 Версии
1.3 X86
1.3.1 Версии
2. Аппаратные платформы
3. Программные платформы
3.1 Android
3.1.1 Версии
3.1.1.1 2.2 - Froyo
3.1.1.2 2.3 - Gingerbread
3.1.1.3 3.1 - Honeycomb
3.1.1.4 4.0 - Ice Cream Sandwich
3.1.1.5 4.1 - Jelly Bean
3.2 Blackberry OS
3.3 iOS
3.3.1 Версии
3.3.1.1 2.x
3.3.1.2 3.x
3.3.1.3 4.x
3.3.1.4 5.x
3.3.1.5 6.x
3.4 Symbian
3.5 Windows Mobile
3.6 Windows Phone
3.7 Windows Phone 8
4. Сравнительный анализ платформ
4.1 Мировые продажи смартфонов, по типам ОС, 1-й квартал 2012
4.2 Распределение версий ОС Android, на 1-е августа 2012
4.3 Динамика версий Android, первая половина 2012-го года
4.4 Аппаратная начинка популярных Android-телефонов и планшетов, первая половина 2012-го года
5. Источники
Процессорные архитектуры
ARM
Архитектура ARM разработана ARM Holdings в 1983-м году как основа для простого и эффективного процессора. Набор команд базируется на 32-битной RISC-архитектуре и позволяет оперировать 14-ю регистрами общего назначения. Также поддерживается работа в THUMB-режиме, он позволяет сократить объём кода за счёт отказа от использования части регистров. Возможно использование дополнительных аппаратных расширений для работы с плавающей точкой и SIMD-операциями. В настоящий момент все поколения ARM поддерживают только 32-битный набор команд, разработка 64-битных версий заявлена на будущее.
Интересной особенностью является то, что ARM Holdings не производят готовые чипы самостоятельно, а лишь проектируют процессорные ядра и лицензируют их сторонним производителям. Это выгодно сказывается на цене и возможностям по интеграции процессорного ядра с другими устройствами. Последние 10 лет архитектура ARM занимает доминирующее положение на рынке мобильных устройств.
- Разработчик: ARM Holdings
- Тип набора команд: RISC
- Размер команды: 4 байта (2 для THUMB-режима)
- Битность: 32
- Расширения: опциональная поддержка FPU и SIMD
- Модель памяти: плоская
- Рабочая частота: до 1.4ГГц
- Поддержка многоядерности
- Высокая энергоэффективность
- Гибкая политика лицензирования ядер
Версии
Архитектура ARM развивается в двух основных направлениях: расширение основного ядра и добавление дополнительных периферийных блоков. Ядро (Architecture) развивается достаточно медленно и в настоящий момент имеет версию 7. Наиболее актуальными сейчас являются версии 6 и 7, более ранние имеют слишком низкую производительность для современных ОС.
Вычислительное ядро со стандартизированным набором периферийных устройств выделяется в семейство (Family). Так, ядро версии 6 с блоком SIMD и поддержкой Thumb представляет собой семейство ARM11. Ядро версии 7 с блоками SIMD, Thumb и прочими дополнениями представляет семейство Cortex.
Ядра ARM обеспечивают обратную совместимость - код, написанный под ядро версии 6 будет работать на ядре 7. Код под более новые версии будет исполняться на старой, если он не использует каких-либо специфичных особенностей новых версий, что в обычных прикладных программах - редкость. Как правило новые версии отличаются от старых, помимо новых команд, различными внутренними оптимизациями, напрямую не влияющими на исполняемый код.
ARMv4
Минимальная версия, на которую до сих пор ссылается официальная документация ARM.
- Дата выхода: ?
- Поддержка THUMB-режима
ARMv5
- Дата выхода: ?
- Улучшенная работа смешанного (ARM-THUMB) кода
- Поддержка инструкций CLZ, BKPT, PLD, LDRD, STRD, MCRR, MRRC
ARMv6
- Дата выхода: ?
- Поддержка набора команд THUMB-2
- Поддержка межпроцессорного взаимодействия
ARMv7
- Дата выхода: ?
MIPS
Архитектура MIPS была представлена MIPS Technologies в 1981-м году. MIPS базируется на RISC-наборе команд и позволяет оперировать 31-им регистром. В последних ревизиях добавлена поддержка 64-битных инструкций. Также возможна опциональная поддержка FPU и SIMD-операций. Как и ARM, архитектура лицензируется сторонним производителям чипов.
В настоящее время архитектура MIPS применяется в основном во встраиваемых устройствах. Также она использовалась в игровых консолях Sony Playstation 2, Playstation Portable.
- Разработчик: MIPS Technologies
- Тип набора команд: RISC
- Размер команды: 4 байта
- Битность: 32, 64
- Расширения: Поддержка FPU и SIMD
- Модель памяти: плоская
- Рабочая частота:
- Поддержка многоядерности
Версии
Начиная с 2000-го года, актуальными остаются две версии архитектуры: MIPS32 и MIPS64, 32- и 64-битная, соответственно.
X86
Архитектура X86 разрабатывается компанией Intel с 1978-го года. За время своего существования она развилась от 16-битного процессора, работающего на частоте 5МГц, до 64-битных многоядерных систем с частотами до 4ГГц, многомегабайтным встроенным кэшем и всеми передовыми расширениям для обработки данных. Нынешние процессоры по-прежнему поддерживают большинство ставших уже ненужными возможностей самых ранних моделей, что достаточно негативно сказывается на общей сложности ядра и его энергопотреблении. Архитектура использует CISC-набор команд, что ставит дополнительные сложности при написании кода и разработке оптимизирующих компиляторов под такую архитектуру.
Процессоры на основе архитектуры X86 производятся довольно ограниченным числом компаний - Intel, AMD, VIA. Архитектура отдельно не лицензируется, а поставляется только в виде готовых изделий. Это негативно сказывается на цене и простоте интеграции процессорных ядер в другие системы.
Архитектура X86 доминирует на рынке персональных компьютеров. На ниве мобильных устройств X86 не смогла добиться каких-либо значимых успехов из-за высокого энергопотребления и малодоступности. В серийных устройствах в настоящее время используются маломощные 32-битные процессоры Intel Atom.
- Разработчик: Intel
- Тип набора команд: CISC
- Размер команды: 1-15 байт
- Битность: 16, 32, 64
- Расширения: Поддержка FPU и SIMD, гипертрединг
- Модель памяти: сегментная (устаревшая), плоская
- Рабочая частота: до 4ГГц
- Поддержка многоядерности
- Низкая энергоэффективность
- Готовые чипы производятся ограниченным числом изготовителей
Версии
Процессоры X86 развиваются последовательным увеличением скорости и расширением набора команд. Какой-либо вариативности в пределах одного поколения процессоров, за исключением объёма встроенной кэш-памяти и тактовой частоты нет. В мобильных устройствах используются 32-битные процессоры Atom в составе платформы Intel Medfield.
Аппаратные платформы
Под аппаратной платформой подразумевается конкретный набор комплектующих, лежащих в основе конечного устройства. Рассматривается только часть, служащая ядром системы: центральный процессор и связанные с ним компоненты. Поскольку в современных устройствах остро стоит проблема миниатюризации компонент и сокращения их энергопотребления, в настоящий момент в подавляющем числе случаев индивидуальные аппаратные модули - процессор, контроллеры периферийных устройств и сами устройства собираются на одном физическом чипе, образуя так называемую System on Chip. В пределах одного поколения такого чипа его структура и возможности фиксированы, но могут отличаться такие параметры, как рабочая частота, количество вычислительных ядер, и т.п.
С точки зрения разработчика программ, аппаратная платформа не играет роли, если в приложении не используются какие-нибудь специфичные её особенности. Например, аппаратный декодер видео или 3D-ускоритель графики. Поэтому ниже приводится только список основных существующих на рынке аппаратных платформ без детального их анализа.
- AllWinner A1x
- Ingenic JZ4770
- Intel Atom
- Apple Ax
- Nvidia Tegra
- Qualcomm Snapdragon
- Samsung Exynos
- TI OMAP
- Rockchip
Программные платформы
Под программной платформой подразумевается основная операционная система, выполняемая на данной аппаратной платформе (или процессорной архитектуре, в общем случае.) Некоторые программные платформы поддерживают различные архитектуры на уровне отдельных сборок ядра. ПО под одну из платформ обычно невозможно напрямую запустить как на другой платформе (программной), так и на другой архитектуре этой же платформы. В случае ОС Android запуск на разных архитектурах возможен, если приложение не использует (или содержит соответствующие версии) низкоуровневых (нативных) модулей.
Android
Система Android разрабатывается компанией Google с 2005-го года. В основе ОС лежит ядро Linux. Пользовательские приложения исполняются на модифицированной версии виртуальной машины Java. Для критичных к скорости выполнения участков допускается использование внешних модулей под конкретную процессорную архитектуру. Таким образом, прикладные приложения "отвязаны" от конкретной процессорной архитектуры.
Исходный код системы полностью открыт.
- Тип: Открытая ОС
- Поддерживаемые архитектуры: ARM, MIPS, X86
- Состояние: Активно развивается
Версии
С момента официального выхода первой публичной версии в 2008-м году и по июль 2012-го года, было выпущено 4 "номерных" версии и множество подверсий. Актуальными на данный момент остаются версии начиная с 2.2. Версии характеризуются т.н. API Level - увеличивающимся счётчиком версии API. Программа может указать диапазон версий API, с которыми она совместима. Программы, написанные под API старых версий будут работать на системах с более новым API. Обновление версий на конечных устройствах производится изготовителями этих устройств и, зачастую, значительно запаздывает по сравнению с официальным выходом новой версии ОС. Так, на некоторых топовых устройствах до сих пор нет обновления на версию, вышедшую более года назад.
2.2 - Froyo
Дата выхода: Май 2010
API Level: 8
Это одна из самых старых версий, которую всё ещё можно встретить в выпускаемых в данный момент устройствах. Как правило она используется в сверхбюджетных телефонах или мультимедиа-плеерах, устройствах с небольшим разрешением экрана и слабой вычислительной мощностью.
Основные изменения:
- Поддержка технологии Flash в web-браузере
- Ускорение скорости как ядра системы, так и приложений за счёт переработки JIT-компилятора Java
- Раздача интернет-подключения через WIFI или USB
- Улучшенная поддержка многоязычных клавиатур
- Поддержка установки приложений на внешний носитель
2.3 - Gingerbread
Дата выхода: Декабрь 2010
API Level: 9 (по 2.3.2), 10 (с 2.3.3)
В этой версии произведены различные улучшения производительности, интерфейса и совместимости с периферийными устройствами.
Основные изменения:
- Поддержка экранов с разрешениями 1280x720, 1360x768
- Улучшенная работа с буфером обмена (clipboard)
- Поддержка сразу нескольких встроенных камер
- Поддержка мультимедиа-стандартов кодирования WebM и AAC
- Доработанное управление энергопитанием
- Переход внутренней файловой системы на ext4
3.1 - Honeycomb
Дата выхода: Февраль 2011
API Level: 12 (3.1), 13 (3.2)
Версия 3.0 содержит доработанный графический интерфейс и адаптирована под использование в планшетных компьютерах.
Основные изменения:
- Появление таких элементов интерфейса, как нижняя статусная и командная строка, верхняя строка меню
- Улучшенная поддержка переключения задач
- Поддержка нескольких вкладок в web-браузере
- Поддержка аппаратного ускорения интерфейса
- Поддержка внешних клавиатуры, мыши, геймпада
- Улучшенная поддержка высоких разрешений экрана для старых приложений
4.0 - Ice Cream Sandwich
Дата выхода: Октябрь 2011
API Level: 14 (по 4.0.2), 15 (с 4.0.3)
В версии 4.0 продолжились доработки интерфейса и улучшение производительности.
Основные изменения:
- Поддержка программных клавиш Android
- Поддержка снятия снимков экрана
4.1 - Jelly Bean
Дата выхода: Октябрь 2011
API Level: 16
В версии 4.1 продолжились доработки интерфейса и улучшение производительности.
Основные изменения:
- Переработка графической подсистемы для более плавной отрисовки интерфейса
- Поддержка двунаправленного текста
- Поддержка многоканального звука
Blackberry OS
Blackberry OS разработана компанией Research in Motion (RIM) для использования в производимых ими телефонах и планшетах. Аппараты RIM в первую очередь ориентированы на корпоративный сектор, поэтому OS имеет развитую поддержку различных коммуникационных возможностей.
В связи с падением популярности продуктов RIM обсуждается отказ от использования Blackberry OS в дальнейших продуктах компании и переход на Windows 8.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Медленно развивается
iOS
iOS (ранее iPhone OS) разработана компанией Apple в 2007-м году для использования в их смартфоне iPhone и плеере iPod Touch. Ядро системы основано ОС Darwin, варианте Unix. Данная ОС широко популяризовала идеологию touch-интерфейса и использование сразу нескольких одновременных касаний экрана. Идеология ОС активно пропагандирует "защиту от дурака" как для пользователей, так и для создателей приложений. Все приложения изолированы друг от друга и системы, а запустить их на немодифицированном устройстве можно только скачав из официального интернет-магазина Apple iTunes. Для размещения приложения в магазине необходимо приобрести лицензию разработчика и для каждого приложения пройти обязательную процедуру сертификации.
Сторонним производителям устройств iOS недоступна. ОС занимает второе (после Android) место по количеству проданных устройств с ней и первое - по числу доступных приложений.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Активно развивается
Версии
Apple не публикует информацию о распространённости конкретных версий и динамику её изменений. Эту информацию обнародуют некоторые разработчики приложений, поэтому она может быть нерепрезентативной.
Общая динамика такова: за примерно 6-12 месяцев с момента выхода новой номерной версии iOS она оказывается установлена на более чем 90% совместимых устройств.
2.x
Дата выхода: Июль 2008
Поддержка магазина приложений
Возможность снятия снимков экрана
3.x
Дата выхода: Июнь 2009
Совместимость с iPad
Поддержка буфера обмена и Copy&Paste
Поддержка HTML5 в веб-браузере
Поддержка In-App покупок
4.x
Дата выхода: Июнь 2010
Совместимость с iPhone 4, iPod Touch 4
Прекращена поддержка iPhone 1, iPod Touch 1, ограниченная совместимость с iPhone 3G и iPod Touch 2
Поддержка многозадачности
Сервис FaceTime
5.x
Дата выхода: Октябрь 2011
Поддержка iPhone 4S, iPad 3
Прекращена поддержка iPhone 3G, iPod Touch 2
Голосовой помощник
Поддержка хранилища iCloud
6.x
Дата выхода: Ожидается в конце 2012
Прекращена поддержка iPod Touch 3, iPad 1, ограниченная совместимость с iPhone 3GS, iPhone 4, iPod Touch 4, iPad 2
Symbian
ОС Symbian получила широкую известность как одна из ранних (совместно с Windows Mobile) операционных систем для смартфонов. Широко использовалась в продуктах фирмы Nokia, в последствии Nokia огласила планы по отказу от Symbian в пользу Windows Phone. Популярность ОС подкосило достаточно медленное её развитие и отсутствие своевременной поддержки таких технологий, как многозадачность, поддержка многоядерных устройств и продвинутого touch-управления.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM, X86
- Состояние: Медленно развивается, запланировано прекращение поддержки
Windows Mobile
Windows Mobile разработана компанией Microsoft как аналог "настольной" ОС Windows для мобильных устройств. Отличается сходством большинства программных интерфейсов (API) с настольной версией ОС, что облегчает портирование кода. Пик популярности ОС пришёлся на эпоху карманных компьютеров (PDA) и коммуникаторов. Экранный интерфейс ОС не приспособлен для управления пальцами. В настоящее время развитие и поддержка ОС прекращены.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Развитие прекращено
Windows Phone
Windows Phone стала дальнейшим развитием предыдущей Windows Mobile, направленной на поддержку современных требований к пользовательскому интерфейсу устройств. При этом ОС перестала быть совместима с программами, написанными под Windows Mobile. Задержавшийся выход, общий закат рынка PDA и внезапная конкуренция со стороны iOS и Android не позволили занять Windows Phone существенной доли рынка. Также, Microsoft заявила, что данную ОС нельзя будет обновить до следующей, что значительно снижает покупательскую привлекательность устройств с ней. Установка программ на устройства возможна только через загрузку их с сервиса Microsoft Windows Phone Marketplace.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Поддержка обновлений
Windows Phone 8
Windows Phone 8 стала результатом унификации архитектуры ОС на основе ядра Windows NT. Таким образом, ядро ОС использует ту же основу, что и её "настольная" версия. Это призвано облегчить портирование программ между версиями ОС. От Windows Phone новая ОС отличается поддержкой высоких разрешений экрана и более широкого спектра периферии. Выход устройств с новой ОС ожидается к концу 2012-го года.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM, X86
- Состояние: Активно развивается
Сравнительный анализ платформ
Мировые продажи смартфонов, по типам ОС, 1-й квартал 2012
Количества в тысячах штук; результаты годом ранее для сравнения.
ОС |
Продажи в 2012г., тыс. |
% рынка |
Продажи в 2011г., тыс. |
% рынка |
---|---|---|---|---|
Android |
81 067,4 |
56,1 |
36 350,1 |
36,4 |
iOS |
33 120,5 |
22,9 |
16 883,2 |
16,9 |
Symbian |
12 466,9 |
8,6 |
27 598,5 |
27,7 |
Blackberry OS |
9 939,3 |
6,9 |
13 004,0 |
13,0 |
Bada/Linux |
3 842,2 |
2,7 |
1 862,2 |
1,9 |
Windows |
2 712,5 |
1,9 |
2 582,1 |
2,6 |
Прочие |
1 242,9 |
0,9 |
1 495,0 |
1,5 |
Суммарно |
144 391,7 |
100,0 |
99 775,0 |
100,0 |
Распределение версий ОС Android, на 1-е августа 2012
Статистика собрана за двухнедельный период на основе обращений к сервису Google Play.
Version Codename |
API Level |
Distribution |
---|---|---|
1.5 Cupcake |
3 |
0.2% |
1.6 Donut |
4 |
0.5% |
2.1 Eclair |
7 |
4.2% |
2.2 Froyo |
8 |
15.5% |
2.3 - 2.3.2 Gingerbread |
9 |
0.3% |
2.3.3 - 2.3.7 |
10 |
60.3% |
3.1 Honeycomb |
12 |
0.5% |
3.2 |
13 |
1.8% |
4.0 - 4.0.2 Ice Cream Sandwich |
14 |
0.1% |
4.0.3 - 4.0.4 |
15 |
15.8% |
4.1 Jelly Bean |
16 |
0.8% |
Динамика версий Android, первая половина 2012-го года
Статистика с февраля по август 2012-го года, на основе обращений к сервису Google Play.
Аппаратная начинка популярных Android-телефонов и планшетов, первая половина 2012-го года
Модель |
Производитель |
Дата выхода |
Тип |
Архитектура ядра |
Платформа |
Ядер |
Частота |
Объём памяти |
Версия ОС |
---|---|---|---|---|---|---|---|---|---|
HTC One S |
HTC |
Aпрель 2012 |
Смартфон |
ARMv7 |
Snapdragon S4 |
2 |
1.5-1.7GHz |
1Gb |
4.0 |
Galaxy S2 |
Samsung |
Май 2011 |
Смартфон |
ARMv7 |
Exynos 4 |
2 |
1.2-1.5GHz |
1Gb |
2.3 |
Galaxy Ace 2 |
Samsung |
Февраль 2012 |
Смартфон |
ARMv7 |
NovaThor U8500 |
2 |
800MHz |
768Mb |
2.3 |
Galaxy Note |
Samsung |
Ноябрь 2011 |
Смартфон |
ARMv7 |
Exynos 4 |
2 |
1.4-1.5GHz |
1Gb |
2.3 |
Источники
- Gartner: Worldwide Smartphone Sales to End Users by Operating System in 1Q12
http://www.gartner.com/it/page.jsp?id=2017015 - IDC: Top Six Smartphone Operating Systems, Shipments, and Market Share, 2012 Q1
http://www.idc.com/getdoc.jsp?containerId=prUS23503312 - Android Delevopers: Current Distribution
http://developer.android.com/about/dashboards/index.html
О компании StarForce
Компания «Протекшен Технолоджи» (торговая марка StarForce) – ведущий российский разработчик программных решений в области контроля и защиты программ и электронной информации от утечек, копирования и нелегального распространения. С 2000 года компания разрабатывает и внедряет ультрасовременные технологические решения, защищенные соответствующими патентами РФ, США и Канады, что позволяет обеспечить охрану интеллектуальной собственности и авторских прав во всем мире.
Являясь экспертом в области защиты цифровой информации и программного обеспечения от утечек, копирования, взлома и несанкционированного распространения, компания разработала собственную систему Управления Цифровыми Правами (StarForce DRM), открывающую перед нашими клиентами широчайшие возможности по доставке цифрового контента и слежению за продажами. Технологии StarForce внедрены в таких компаниях как РЖД, Corel, 1С, Mail.ru, Аэрофлот, SUN InBev Russia, АМД Лаборатории, ATC International, МедиаХауз, Руссобит-М, Новый Диск, Бука, Snowball, 2Play, GFI, CENEGA, Akella и в ряде других.
Контакты для прессы:
pr@star-force.com