📜 ⬆️ ⬇️

Mobile OS architecture. User Trends and Impressions


We offer you a free abbreviated translation of an article written by engineers from Intel's Chinese division and dedicated to analyzing trends in operating systems for smartphones.
The world around us is becoming wider. We travel long distances with our mobile devices, helping us to keep in touch with family and colleagues and providing a huge number of different services. The basis of any functionality of a mobile device is its operating system. Based on our own experience in developing such OSs and our own vision of the current market situation, we highlight several parameters by which, in our opinion, any future OS will be evaluated - user experience, power management, cloud support and openness. In this article, we will show the results of our research on current mobile OS, based on the given group of criteria.

Introduction

Mobile OS design has evolved from the desktop OS through embedded OS to the products that we see in smartphones now. During this process, the OS architecture changed from complex to simple and stopped somewhere in the middle. The very same evolution was driven by technological advances in hardware and software, as well as in Internet services.

In the recent past, the mobile usage pattern has been quite simple. The user started applications for managing data or offline games, sometimes downloaded static web pages or used mail. Now the situation has changed radically: there are no more “pre-installed” functions, the device acts as a kind of portal on Wednesday, where many players are service providers, independent developers, etc. - provide a huge number of services.


Mobile Usage Models
')
From the point of view of consumption models, all representatives of today's mobile OS (such as Apple iOS, Google Android, Microsoft Windows) have more similarities than differences:

The commonality of the current mobile operating systems due to the global technological trends in hardware and software areas, as well as in communications. Let us analyze now the OS of a new generation in terms of the criteria given above. We note immediately that, to a rather large extent, they conflict with each other.

User experience

The traditional concept of productivity is hardly applicable to mobile devices. Instead of static performance in relation to smartphones, it is more logical to operate with the concept of comfort for the user, the ability to respond optimally to his actions, expressed in sensitivity, smoothness, consistency and accuracy of work. The situation is quite common when device A is inferior to B in terms of aggregate benchmarks, however, from the point of view of user perception, it is valued higher, because tests, measuring certain subsystems of a smartphone, do not take user interaction into account, and the person first evaluates this.

Take for example the video. Traditional tests operate on a number of metrics, such as FPS or the number of frames lost. There are at least two problems with this approach. First: video playback is only one action from the whole complex, including launching the player, loading video data into it, rewinding process, etc. From the user's point of view, it is necessary to evaluate everything together. Another problem is that the FPS as the key value of the smoothness of the interaction does not always reflect the user's feelings. For example, when scrolling an image in the Gallery3D application on device B, we see noticeable slowdowns, and on device A everything goes smoothly, although the FPS is lower on it. To understand what the problem is, we plotted the frame drawing period on the time axis. Now, probably, the reason is visible to everyone: except for FPS as such, it is necessary to take into account its stability, that is, to introduce the metric of maximum deviation from the average value.



Frame rates in the Gallery3D application on devices A and B

As a comparison, we present the frame-rate graph of device B after its optimization. As you can see, the average FPS almost did not change, which cannot be said about the user's feelings.


Frame rate on device B after optimization

We should not forget that the feeling of users is a subjective concept. In modern science, several methods are used to track user reactions: monitoring eye movement, pulse, etc. When creating software, we must approach the issue systematically, using all possible methods of analysis. Having developed a system of metrics (for example, the already mentioned sensitivity, smoothness, consistency and accuracy) it is necessary to determine the limits of their comfort for the user. The table below lists some empirically derived values.
FineGoodPermissible
Delay time≤100 ms≤200 ms≤500 ms
Graphic animation≥120 fps≥60 fps≥30 fps
Video playback≥60 fps≥30 fps≥20 fps

Obviously, these data are statistical in nature and should be applied with an eye to the human nature.
Based on our experience of developing for Android, we came to the conclusion that user optimization (software) of applications is in many ways similar to parallelization optimization, only more difficult to implement for the following reasons:

Power management

Energy efficiency has always been a headache for mobile OS developers. Voracity of applications is constantly growing, and progress in battery technology chronically does not have time for it. That is why the importance of power management is increasing all the time, and a truly global approach is needed to solve this problem.

Over the past decade, mobile processors have achieved significant success in energy saving. Current models support dynamic voltage and frequency changes such as Enhanced Intel SpeedStep. On the part of the OS, special components of the kernel, for example, cpufreq in Linux, are responsible for managing the operating modes of the processor. Currently, we are witnessing the process of moving the forefront of the struggle for energy efficiency from processors (where quite a lot has already been done) to other systems of mobile devices. For example, the introduction of a dynamic graphics processor control (similar to that used in a CPU) allows in some cases to save up to 50% of energy. Attention should also be given to input-output systems; an increase in their intelligence, the ability to independently choose the optimal mode of operation will also have a positive effect on consumption.

In the current OS, the situation with power consumption is as follows. Android OS professes the principle of "flexible suspension". Having no control over the operating power consumption of the device, Android aggressively tries to put the system into a saspend state if nothing interesting happens in it, which is determined by the absence of locks (wakelock). Windows 8 offers a fundamentally new state of the device, called "connected standby." Unlike traditional standby mode S3, in which all system processes are suspended, here the system continues to operate in an extremely economical mode, allowing, for example, to receive e-mail. The connected standby mode is implemented in hardware in the processor and programmatically in the system kernel.

The correct operation of applications in terms of energy consumption remains the Achilles' heel of both described approaches to saving. Recent studies have shown that free Android applications consume 75% of energy for nothing, showing ads in a minimized mode and not giving back the block. The same is true for Windows 8, where even a single application, written incorrectly in terms of energy efficiency, will not allow the entire system to go into the connected standby mode. Currently, there is no clear understanding of how to deal with this kind of “curved” applications.

Openness

Another important feature of the mobile OS is its openness. By openness, we mean a measure of freedom to use, distribute, customize, and improve the OS for our needs. There is a separate study on the openness of the OS from the point of view of the developer; here we consider it within the framework of the ecosystem, that is, of all the parties one way or another connected with the operation of this OS.

Not long ago, most of the phones had private software inside themselves, where third-party developers did not have access; users had to be content with the built-in toolkit. In the process of evolution, smartphones appeared with operating systems that allow the installation of third-party software that interacted with the OS through an API; developers were provided with appropriate programming tools (SDK). A good example of an OS of this kind is Apple iOS. Greater freedom for the entire ecosystem provides an open source operating system, such as Android; even the end user who is not related to programming can feel the benefits of open source - for example, in the number of manufacturers using this OS and, ultimately, the number of models.

Cloud support

Cloud technologies are becoming more widespread in mobile OS; For the most part, applications that use them are websites that open in a browser or web applications. Very often, applications are created in HTML5, so the implementation of this technology in the mobile OS is the focus of its developers. The site html5test.com quantifies HTML support on various platforms, we present the results in the form of a table (the article contains outdated data, we publish the most relevant - note of the translator) . We are especially pleased that Tizen, a newcomer to the world of mobile OS, ranks first in this ranking.
BrowserPlatformScore + Bonus
Tizen 2492 + 16
Blackberry 10BlackBerry Q10 or Z10485 + 11
Dolphin Engine BetaAndroid 2.2 or higher469 + 3
Opera Mobile 14Android448 + 11
Tizen 1426 + 16
Firefox Mobile 22Different platforms422 + 14
Chrome 25Android 4417 + 11

Third-party browsers are in a less advantageous situation compared to the built-in operating systems, since they do not have such control over the system and the development process. Ideally, the browser should work in its own environment, all developers strive for it; Many people have already heard about Firefox OS, but on this video you can see a preview of Opera OS . Note, however, that independent developers are still easily kept in the top, another breakthrough - the Chinese browser Dolphin Engine (comment of the translator).

Web applications, that is, local programs that use web technologies, require support from the mobile OS (and not only) in the form of execution environments, frameworks and development tools.

HTML5 is declared as a cross-platform standard, but in reality HTML5 support for different platforms is not the same and the standardization process is now in full swing. To overcome the incompatibility created framework PhoneGap, which is supported by all major mobile OS. The desire to have a common for all HTML5 is all participants in the ecosystem, but to implement it is not so easy, because the developers of mobile operating systems constantly introduce their own ideas into it.

The performance issue worries all developers dealing with HTML5. In our opinion, the most relevant aspects of optimizing for mobile operating systems are:

Summarizing all the above, we note once again that despite some differences in approaches, all mobile operating systems are developing in one direction, to some extent moving closer to each other. It seems that this trend will continue in the future, which is only on the hand of both users and application developers.

Source: https://habr.com/ru/post/184708/


All Articles