News
Alexander Zatsepin, CTO, Protection Technology Research
This article describes hardware and software division on the mobile platform market. “Mobile platform” means mass handheld devices with an autonomous power source designated for solving a large variety of general tasks: entertainment, communications and business. This article does not examine personal desktop computers and their portable versions (notebooks/netbooks/etc.)
Information in the article was gathered from public sources available as of the beginning of 2013.
Information in the article is indicated taking into consideration software developers’ demand for mobile devices.
Processor architectures
ARM
ARM architecture was developed by ARM Holdings on 1983 as the foundation for a simple and effective processor. The set of instructions is based on the 32-bit RISC-architecture and allows one to operate 14 general registers. Also, the THUMB mode is supported which allows one to cut down on the amount of code needed due to a cut back on using part of the registers. It is possible to use additional software enhancements for a floating point and SIMD operations. Currently, all versions of ARM support only a 32-bit set of instructions. 64-bit versions are to be supported in the future.
One interesting fact is that ARM Holdings does not make ready-made chips itself, but rather it only designs processor units and licenses them for outside producers. This positively impacts the price and capabilities for integrating the processing unit with other devices. Over the last 10 years the ARM architecture has been dominant on the mobile device market.
- Developer: ARM Holdings
- Type of instruction set: RISC
- Instruction size:4 bytes (2 for the THUMB mode)
- Word size: 32
- Features: optional support of FPU and SIMD
- Memory model: flat
- Operating frequency: up to 1.4 GHz
- Supporting multiple cores
- High energy efficiency
- Flexible unit licensing policies
Versions
The ARM architecture is mostly developing in two main areas: enhancing the main architecture and adding additional peripheral units. The architecture is developing pretty slowly and currently is on version 7. The most relevant are versions 6 and 7 since the earlier ones have too low performance for modern-day processing units.
The architecture with a standardized set of peripheral devices is singled out into a family. So, the architecture with version 6 of the SIMD unit and supporting Thumb is the ARM11 family. The architecture of version 7 with SIMD, Thumb units and other added features form the Cortex family.
ARM architectures are backwards compatible meaning that the code written under the architecture’s version 6 will work on the architecture 7. The code for newer versions will work on the old ones if it doesn’t use any specific features in the new versions which is a rarity for most practical software. Generally, new versions differ from older ones due to various internal optimizations (in addition to new instructions) which do not directly impact the code.
MIPS
MIPS architecture was presented by MIPS Technologies in 1981. MIPS is based on the RISC set of instructions and it allows one to operate a 31 registers. Support of 64-bit instructions has been added in the latest revisions. Also, now there is optional support of FPU and SIMD operations. Like ARM, the architecture is licensed out to chip producers.
Currently MIPS architecture is mostly used in built-in devices. Also, it is used in Sony Playstation 2 and Playstation Portable gaming consoles.- Developer: MIPS Technologies
- Type of instruction set: RISC
- Instruction size: 4 bytes
- Word size: 32, 64 bit
- Features: supports FPU and SIMD
- Memory model: flat
- Operating frequency:
Supporting multiple cores
Versions
As of 2000 two architecture versions are still relevant: MIPS32 and MIPS64 which are 32 and 64-bit respectively.
X86
X86 architecture has been developed by Intel since 1978. Since its emergence it has developed from a 16-bit processor working at 5 MHz to 64-bit multi-architecture systems with frequencies up to 4 GHz, a multi-megabyte built-in cache and all the cutting edge enhancements for data processing. The current processors still support the majority of capabilities from the earliest models which are no longer needed which has a relatively negative impact on the overall architecture’s complexity and its energy consumption. The architecture uses the CISC set of instructions which creates additional complications when writing code and developing optimizing compilers for such an architecture.
Processors based on X86 are produced by a relatively limited group of companies (Intel, AMD and VIA). The architecture is not licensed separately, but rather it is only supplied in the form of ready-made products. This negatively impacts the price and the simplicity of integrating processing units in other systems.
The X86 architecture dominates on the PC market. X86 hasn’t been able to be particular successful in the mobile device niche due to its high energy consumption and low accessibility. The low-performance 32-bit Intel Atom processors are currently used in serial devices.
- Developer: Intel
- Type of instruction set: CISC
- Instruction size: 1-15 bytes
- Word size: 16, 32, 64
- Features: Supports FPU and SIMD, hyperthreading
- Memory model: segment (obsolete), flat
- Operating frequency: up to 4GHz
- Supporting multiple cores
- Low energy efficiency
- Ready-made chips are made by a limited number of producers
Versions
X86 processors have developed by gradually increasing their speed and expanding the set of instructions. This is no difference between processors from the same generation except for the amount of built-in cache memory and clock speed. 32-bit Atom processors are used in mobile devices as part of the Intel Medfield platform.
Hardware platforms
One should understand hardware platforms to be a certain set of components forming the basis of the final device. Only the part serving as the system’s unit is considered (the central processor and components related to it). Since miniaturizing components and cutting back on their energy consumption is particularly relevant now in the majority of cases individual hardware modules (processor, peripheral device controllers and the devices themselves) are brought together on one physical chip forming a so-called System on Chip. All chips from the same generation have the same structure and capabilities, but their parameters such as operating frequency, the number of processing cores, etc. may differ.
As for program developers hardware platforms are not relevant whatsoever if no specific features are used in the app. (like the hardware decoder or 3D graphics accelerator for instance). Therefore, only a list of the main hardware platforms on the market without detailed analysis is shown below:
- AllWinner A1x
- Ingenic JZ4770
- Intel Atom
- Apple Ax
- Nvidia Tegra
- Qualcomm Snapdragon
- Samsung Exynos
- TI OMAP
- Rockchip
Software platforms
One can understand software platforms to be the main operational system performed on this hardware platform (or processor architecture in general). A few software platforms support various architectures at the level of separate unit assembly. Software for one of these platforms generally cannot be launched directly on either another platform (software) or other architecture for that same platform. As for OC Android one can launch it on different architectures if the app isn’t using (or doesn’t contain the respective versions) low-level (native) modules.
Android
The Android system has been developed by Google since 2005. The Linux kernel forms the basis for the operational system. User apps are run on a modified version of Java virtual machine. One can use external modules for performing tasks critical to maintaining speed for a particular processing architecture. Therefore, the apps are “separated” from the actual processing architecture.
The system source code is completely open.
- Type: Open operating system
- Supported architectures: ARM, MIPS, X86
- Current state: Is being actively developed
Versions
Since the first version’s official public release in 2008 and through March 2013 4 “numbered” versions and numerous sub-versions have been released. The versions starting with 2.2 are the most relevant at this point. The versions are classified by the so-called API Level which is an increasing counter for API versions. The software can indicate the range of API versions with which it’s compatible. The software written for older API versions will work on the systems with newer API. Version updates on final devices are generally made by their producers with a significant lag relative to the official release date of the new operating system version. So, on a few top devices there isn’t an update on a version released more than a year ago (yet).
2.2 - Froyo
Release date: May 2010
API Level: 8
This is one of the oldest versions which one can still find amongst devices still on the market. Generally speaking, it is used for incredibly cheap phones or multi-media players, devices with low screen resolution and low performance.
Main changes:
- Supports Flash on web browsers
- Accelerates the architecture’s speed and its apps due to reworked Java JIT compiler
- Internet connection through WIFI or USB
- Improved multi-language keyboard support
- Support for installing apps on an external storage
2.3 - Gingerbread
Release date: December 2010
API Level: 9 (from 2.3.2), 10 (through 2.3.3)
Various performance and interface changes (along with compatibility with other peripheral devices) have been made to this version.
Main changes:
- Supports screen resolution of 1280x720, 1360x768
- Improved work with the clipboard
- Supports several built-in cameras
- Supports multi-media standards for WebM and AAC codecs
- Improved energy consumption management
- Transferred to the internal ext4 file system
3.1, 3.2 - Honeycomb
Release date: February 2011
API Level: 12 (3.1), 13 (3.2)
Version 3.0 contains a fine-tuned graphic interface and is adapted for use on tablets.
Main changes:
- Interface elements such as the lower status bar and task bar, the upper menu bar have appeared
- Improved task switching support
- Supports browser tabs
- Supports interface hardware acceleration
- Supports external keyboards, mice and gamepads
- High-resolution screen support for older apps has improved
4.0 - Ice Cream Sandwich
Release date: October 2011
API Level: 14 (from 4.0.2), 15 (through 4.0.3)
The following adjustments were made to interface and performance improved in the 4.0 version.
Main changes:
- Supports Android software keys
- Supports taking screen shots
4.1, 4.2 - Jelly Bean
Release date: June 2012
API Level: 16 (4.1), 17 (4.2)
The following adjustments were made to the interface and performance improved in version 4.1.
Main changes:
- Reworking the graphic subsystem for a smoother interface outline
- Supports two-directional text
- Supports multiple sound sources
BlackBerry OS
Blackberry OS was developed by Research in Motion (RIM) for use in phones and tablets produced by them. RIM products were first geared towards the corporate sector; therefore its operating system has developed support of various communication capabilities.
Due to the drop in RIM product popularity it has been discussed to stay away from using the Blackberry operating system in the company’s future products while switching over to Windows 8.
- Type: Closed operating system
- Supported architectures: ARM
- Current state: Slowly developing
Firefox OS
This platform with an open source code was developed by the Firefox web browser team. It positions itself as an operating system for incredibly cheap smart phones. It is based on a simplified Linux kernel. Apps are web applets and use HTML5 technology.
This operating system’s future is a bit hazy at the moment since despite its positioning the devices lose out in terms of price relative to Android apps. HTML5 use as the app language places limitations on its functionality and makes porting already existing projects with operating systems impossible. They must be rewritten from the beginning.
- Type: open operating system
- Supported architectures: ARM
- Current state: Actively developing
iOS
iOS (earlier known as iPhone OS) was developed by Apple in 2007 for use on its iPhone and iPod Touch. The system unit is based on the Darwin operating system (the Unix version). This operating system highly popularized the touch interface ideology and using a few touch screens at a time. The operating system’s ideology actively promotes “fool-proof” methods for both app users and creators. All apps are isolated from each other and the system, while one can only launch it on an unmodified device by first downloading Apple iTunes from the official online store. One must acquire a developer’s license in order to place the app in the store and one must undergo a mandatory certification procedure for each app.
Third-party device producers do not have access to iOS. The operating system is second (after Android) in terms of the number of devices sold with it and first in terms of the number of available apps.
- Type: Closed operating system
- Supported architectures: ARM
- Current state: Actively developing
Versions
Apple does not publish information about the circulation of particular versions and their changes in sales. A few app developers publish this information; therefore it may not show the whole picture.
The general tendency is the following: over roughly the past 6-12 months since the new numbered iOS version came out it turns out that it’s been installed on more than 90% compatible devices.
2.x
Release date: July 2008
App store support
Screen shot capabilities
3.x
Release date: June 2009
Compatible with the iPad
Supports the clipboard and Copy&Paste functions
Supports HTML5 in the web browser
Supports In-App for purchases
4.x
Release date: June 2010
Compatible with the iPhone 4, iPod Touch 4
Support has been terminated for the iPhone 1, iPod Touch 1, limited compatibility with iPhone 3G and iPod Touch 2
Multi-task support
FaceTime service
5.x
Release date: October 2011
Supports iPhone 4S, iPad 3
Support has been terminated with iPhone 3G, iPod Touch 2
Voice assistant
Supports iCloud storage
6.x
Release date: September 2012
Support has been terminated for iPod Touch 3, iPad 1, limited compatibility with iPhone 3GS, iPhone 4, iPod Touch 4, iPad 2
Symbian
ОС Symbian gained popularity as one of the first (together with Windows Mobile) operational systems for smart phones. It was widely used in Nokia products. Eventually, Nokia declared plans to stay away from Symbian in favour of Windows Phone. The operating system’s popularity took a blow due to its relatively slow development and the lack of timely support of technology such as multi-tasking, multicore device support and advanced touch control.
- Type: Closed operating system
- Supported architectures: ARM, X86
- Current state: development has been terminated
Tizen
This operational system is based on the earlier Bada operational system from Samsung. Like Firefox the operational system is based on Linux with developed web technology support. One can use HTML5 and a native code for writing user apps.
Is actively supported by Intel and Samsung. Currently it’s used only on a few Samsung devices.
- Type: open operating system
- Supported architectures: ARM, X86
- Current state: Actively developing
Ubuntu (Touch, for Android)
Ubuntu Touch и Ubuntu for Android are a user shell for Linux. This shell is a fine-tuned Ubuntu touch control interface from desktop computers. Ubuntu for Android is designed for use together with the installed Android operating system (one can switch between interfaces at any moment). Ubuntu Touch is to be used like a single interface together with Linux.
Currently the project is in its developmental stage and serial devices are expected only by the end of 2013:- Type: open operating system
- Supported architectures: ARM, X86
- Actively developing, is getting ready for a public release
Windows Mobile
Windows Mobile was developed by Microsoft as an analogue to the Windows operating system for mobile devices. It differs due to the fact that the majority of its API are similar to the desktop version of the operating system which makes porting code much easier. The operating system hit its peak popularity during the pocket computer and communicator era. The operating system’s interface is not adapted for touch screen technology. Currently its development and support have been terminated.
- Type: Closed operating system
- Supported architectures: ARM
- Current state: development has stopped
Windows Phone
Windows Phone was the next chain in development on the Windows Mobile system geared towards supporting modern user app interface requirements. However, the operating system stopped being compatible with programs written for Windows Mobile. The delayed release date, the general drop in the PDA market and unexpected competition from iOS and Android haven’t allowed Windows Phone to assume a significant presence on the market. In addition, Microsoft declared that it won’t be possible to update this operating system with the next one which significantly decreases the attractiveness for buying devices coupled with it. Program installation on the devices is only possible by downloading them from the Microsoft Windows Phone Marketplace.
- Type: Closed operating system
- Supported architectures: ARM
- Current state: supports updates
Windows 8/Windows RT
Windows 8/Windows RT became the result of the unification of operating system architecture based on the Windows NT unit. Therefore, the operating system unit uses the same base as its ‘desktop’ version. This is intended to make porting programs between operating system versions easier. Windows Phone differs from the new operating system due to its high-resolution screen support and a wide selection of peripheral devices. First devices were released as the end of 2012.
- Type: Closed operating system
- Supported architectures: ARM, X86
- Current state: Actively developing
Comparative prevalence platform analysis
Smart phone sales worldwide per operating system
Operating System |
Sales in the 4th quarter 2012, thousands |
% of the market |
Sales in the 1st quarter 2012, thousands |
% of the market |
Sales in the 1st quarter 2011, thousands |
% of the market |
---|---|---|---|---|---|---|
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 |
Others |
713 |
0,3 |
1243 |
0,9 |
1495 |
1,5 |
Total |
207662 |
100,0 |
144392 |
100,0 |
99775 |
100,0 |
Android version dynamics, end of 2012-beginning of 2013
Statistics from September 2012 through March 2013 based on the Google Play service
Sources
- 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
About StarForce Technologies
StarForce Technologies (www.star-force.com) is a leading vendor of information protection, copy protection and code obfuscation solutions for software, electronic content and audio/video files. Since 2000, StarForce has been successfully developing and implementing its state-of-the-art security solutions, providing copyright and intellectual property protection worldwide. Two of these solutions were transformed into StarForce cloud services: sfcontent.com protects e-Documents against illegal copying and distribution and sfletter.com secures emails.
StarForce is a reliable and responsible Technological Partner for enterprises potentially incurring losses due to cyber-gangs, hackers, software piracy, unauthorized data access and information leaks. StarForce’s customers are Russian Railways, Corel, 1C, Mail.ru, Aeroflot, SUN InBev Russia, AMD Labs, ATC International, MediaHouse, Russobit M, New Disc, Buka, Snowball, 2Play, GFI, CENEGA, Akella, etc.
Press contacts:
pr@star-force.com