Обзор мобильных платформ (март 2013)
Александр Зацепин, технический директор Протекшен Технолоджи Ресеч
Эта статья описывает аппаратно-программное разделение рынка мобильных платформ. Под "мобильной платформой" подразумеваются массовые устройства переносного форм-фактора с автономным источником питания, предназначенные для решения широкого спектра общих задач, таких как развлечения, коммуникации, деловая активность. В статье не рассматриваются настольные персональные компьютеры и их портативные версии (ноутбуки/нетбуки/и т.п.)
Информация в статье собрана из публичных источников по состоянию на начало 2013 года.
Информация в статье приводится с учетом потребностей разработчиков ПО для мобильных устройств.
Процессорные архитектуры
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) развивается достаточно медленно. Наиболее актуальными сейчас являются версии 6 и 7. Более ранние версии имеют слишком низкую производительность для современных ОС. Ядро версии 8 будет 64-битным. В настоящее время для разработчиков доступны эмуляторы процессоров с данным ядром, первые реальные процессоры будут выпущены в течение 2013 года.
Ядро со стандартизированным набором периферийных устройств выделяется в семейство (Family). Так, ядро версии 6 с блоком SIMD и поддержкой Thumb представляет собой семейство ARM11. Ядро версии 7 с блоками SIMD, Thumb и прочими дополнениями представляет семейство Cortex.
Ядра ARM обеспечивают обратную совместимость - код, написанный под ядро версии 6, будет работать на ядре 7. Код под более новые версии будет исполняться на старой версии, если он не использует каких-либо специфичных особенностей новых версий, что в обычных прикладных программах - редкость. Как правило, новые версии отличаются от старых, помимо новых команд, различными внутренними оптимизациями, напрямую не влияющими на исполняемый код.
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 (SoC). В пределах одного поколения такого чипа его структура и возможности фиксированы, но могут отличаться такие параметры, как рабочая частота, количество вычислительных ядер и т.п.
С точки зрения разработчика программ, аппаратная платформа не играет роли, если в приложении не используются какие-нибудь специфичные её особенности, например, аппаратный декодер видео или 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 году и по март 2013 года было выпущено 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, 3.2 - 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, 4.2 - Jelly Bean
Дата выхода: Июнь 2012
API Level: 16
В данной версии продолжились доработки интерфейса и улучшение производительности.
Основные изменения:
- Переработка графической подсистемы для более плавной отрисовки интерфейса
- Поддержка двунаправленного текста
- Поддержка многоканального звука
BlackBerry OS
Blackberry OS разработана компанией Research in Motion (RIM) для использования в производимых ими телефонах и планшетах. Аппараты RIM в первую очередь ориентированы на корпоративный сектор, поэтому OS имеет развитую поддержку различных коммуникационных возможностей.
В связи с падением популярности продуктов RIM обсуждается отказ от использования BlackBerry OS в дальнейших продуктах компании и переход на Windows 8.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Медленно развивается
Firefox OS
Платформа с открытым исходным кодом, разрабатываемая командой Web-браузера Firefox. Позиционируется как OS для сверхдешёвых смартфонов. Основана на облегчённом ядре Linux. Приложения представляют собой web-апплеты и используют технологии HTML5.
Перспективы OS в настоящее время туманны, т.к. несмотря на позиционирование, представленные устройства проигрывают в цене устройствам с Android. Использование HTML5 в качестве языка приложений накладывает ограничения на их функциональность и делает невозможным портирование уже существующих проектов с других OS - их придётся переписывать заново.
- Тип: Открытая ОС
- Поддерживаемые архитектуры: 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
- Состояние: Развитие прекращено
Tizen
Операционная система, основанная на более ранней ОС Bada от компании Samsung. Как и Firefox OS, основана на ядре Linux с развитой поддержкой web-технологий. Для написания пользовательских приложений позволяет использовать HTML5 и нативный код.
Активно поддерживается компаниями Intel и Samsung, в настоящее время используется только на некоторых устройствах Samsung.
- Тип: Открытая ОС
- Поддерживаемые архитектуры: ARM, X86
- Активно развивается.
Ubuntu (Touch, for Android)
Ubuntu Touch и Ubuntu for Android представляют собой пользовательскую оболочку для ядра Linux. Эта оболочка представляет собой доработанный под touch-управление интерфейс Ubuntu с настольных компьютеров. Ubuntu for Android предназначена для использования совместно с установленной ОС Android (между интерфейсами в любой момент можно переключиться). Ubuntu Touch предполагается использовать как единственный интерфейс совместно с собственным ядром Linux.
В настоящий момент проект находится в стадии разработки, серийные устройства ожидаются только к концу 2013 года.
- Тип: Открытая ОС
- Поддерживаемые архитектуры: ARM, X86
- Активно развивается, готовится к публичному выходу.
Windows Mobile
Windows Phone стала дальнейшим развитием предыдущей Windows Mobile, направленным на поддержку современных требований к пользовательскому интерфейсу устройств. При этом ОС перестала быть совместима с программами, написанными под Windows Mobile. Задержавшийся выход, общий закат рынка PDA и внезапная конкуренция со стороны iOS и Android не позволили Windows Phone занять существенной доли рынка. Также Microsoft заявила, что данную ОС нельзя будет обновить до следующей, что значительно снижает покупательскую привлекательность устройств с ней. Установка программ на устройства возможна только через их загрузку с сервиса Microsoft Windows Phone Marketplace.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Развитие прекращено
Windows Phone
Windows Phone стала дальнейшим развитием предыдущей Windows Mobile, направленной на поддержку современных требований к пользовательскому интерфейсу устройств. При этом ОС перестала быть совместима с программами, написанными под Windows Mobile. Задержавшийся выход, общий закат рынка PDA и внезапная конкуренция со стороны iOS и Android не позволили занять Windows Phone существенной доли рынка. Также, Microsoft заявила, что данную ОС нельзя будет обновить до следующей, что значительно снижает покупательскую привлекательность устройств с ней. Установка программ на устройства возможна только через загрузку их с сервиса Microsoft Windows Phone Marketplace.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM
- Состояние: Поддержка обновлений
Windows 8/Windows RT
Windows 8/Windows RT стала результатом унификации архитектуры ОС на основе ядра Windows NT. Таким образом, ядро ОС использует ту же основу, что и её "настольная" версия. Это призвано облегчить портирование программ между версиями ОС. От Windows Phone новая ОС отличается поддержкой высоких разрешений экрана и более широкого спектра периферии. Первые устройства с данной ОС вышли в конце 2012 года.
- Тип: Закрытая ОС
- Поддерживаемые архитектуры: ARM, X86
- Состояние: Активно развивается
Сравнительный анализ распространённости платформ
Мировые продажи смартфонов, по типам ОС
ОС |
Продажи в 4 квартале 2012, тыс. шт. |
% рынка |
Продажи в 1 квартале 2012, тыс. шт. |
% рынка |
Продажи в 1 квартале 2011, тыс. шт. |
% рынка |
---|---|---|---|---|---|---|
Android |
144720 |
69,7 |
81067 |
56,1 |
36350 |
36,4 |
iOS |
43457 |
20,9 |
33120 |
22,9 |
16883 |
16,9 |
Symbian |
2569 |
1,2 |
12467 |
8,6 |
27598 |
27,7 |
Blackberry OS |
7333 |
3,5 |
9939 |
6,9 |
13004 |
13,0 |
Bada/Linux |
2684 |
1,3 |
3842 |
2,7 |
1862 |
1,9 |
Windows |
6185 |
3,0 |
2712 |
1,9 |
2582 |
2,6 |
Прочие |
713 |
0,3 |
1243 |
0,9 |
1495 |
1,5 |
Суммарно |
207662 |
100,0 |
144392 |
100,0 |
99775 |
100,0 |
Динамика изменения распространённости версий Android, конец 2012 – начало 2013 года
Статистика с сентября 2012 года по март 2013 года на основе обращений к сервису Google Play.
Источники
- Gartner: Worldwide Smartphone Sales to End Users by Operating System in 1Q12
http://www.gartner.com/it/page.jsp?id=2017015 - Gartner: Worldwide Mobile Phone Sales Declined 1.7 Percent in 2012
http://www.gartner.com/newsroom/id/2335616 - 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