Data processing facilities and systems
ленная безопасность на взрывоопасных и химически опасных объектах». - Уфа: ООО «Институт Риска и безопасности», 2009. - С. 44.
4. Программное обеспечение DNV [Электронный ресурс]. - URL:http://www.irb.ru/prg.htm (дата обращения: 02.10.2013 г.).
5. ЛисановМ.В. Сравнение результатов расчетов последствий аварийных выбросов опасных веществ по программным комплексам ТОКСИ+ и PHAST [Текст] / М.В. Лисанов, К.В. Ефремов // Безопасность Труда в Промышленности, 2011, № 2. - С. 56-60.
6. Программный комплекс ТОКСИ + RISK (Ток-си+) для оценки риска и расчета последствий аварий на производственных объектах [Текст] // Руководство пользователя, 2011. - С. 268.
7. Агапов А.А. Использование программного комплекса ТОКСИ + RISK для оценки пожарного риска [Текст] / А.А. Агапов, И.О. Лазукина // Безопасность Труда в Промышленности. - 2010. - № 1.
- С. 46-52.
8. Агапов А.А. Программно-аппаратный комплекс «ТОКСИ + МЕТЕО» для оценки последствий возможных аварий с учетом данных о текущих погодных условиях [Текст] / А.А. Агапов, И.О. Хлобыстова // Безопасность Труда в Промышленности.
- 2011. - № 1. - С. 22-25.
References
1. Vetoshkin A.G. Nadezhnost' tehnicheskih sistem i tehnogennyj risk: ucheb. posobie [Tekst] / A.G. Vetoshkin. - Penza: PGUAiS, 2003. - S. 7-9.
2. Suhanov D.V Programmnyj strat modeli
upravlenija krizisnymi situacijami [Tekst] / D.V. Suhanov // Vestnik SGUTiKD. - 2012. - № 2. -S.106-107.
3. Panteleev V.A. Opyt primenenija programmnogo obespechenija Det Norske Veritas (DNV) phast-safeti dlja ocenki riska promyshlennyh ob#ektov v Rossii [Tekst] / V.A. Panteleev // III Mezhdunarodnaja nauchno-prakticheskaja konferencija «Promyshlennaja bezopasnost' na vzryvoopasnyh i himicheski opasnyh ob#ektah». - Ufa: OOO «Institut Riska i bezopasnosti», 2009. - S. 44.
4. Programmnoe obespechenie DNV: [Elektronnyj resurs]. - URL:http://www.irb.ru/prg.htm (data obra-shhenija: 02.10.2013 g.).
5. Lisanov M.V. Sravnenie rezul'tatov raschetov posledstvij avarijnyh vybrosov opasnyh veshhestv po programmnym kompleksam TOKSI+ i PHAST [Tekst] /M.V. Lisanov, K.V. Efremov // Bezopasnost' Truda v Promyshlennosti, 2011. № 2. - S. 56-60.
6. Programmnyj kompleks TOKSI+RISK (Toksi+) dlja ocenki riska i rascheta posledstvij avarij na proizvodstvennyh ob#ektah [Tekst] // Rukovodstvo pol'zovatelja, 2011. - S. 268.
7. Agapov A.A. Ispol'zovanie programmnogo kompleksa TOKSI+RISK dlja ocenki pozharnogo riska [Tekst] / A.A. Agapov, I.O. Lazukina // Bezopasnost' Truda v Promyshlennosti. - 2010. - № 1. - S. 46-52.
8. Agapov A.A. Programmno-apparatnyj kompleks «TOKSI+METEO» dlja ocenki posledstvij vozmozhnyh avarij s uchetom dannyh o tekushhih pogodnyh uslovijah [Tekst] / A.A. Agapov, I.O. Hlobystova// Bezopasnost' Truda v Promyshlennosti. - 2011. - № 1. - S. 22-25.
Цветков В.М.
Tsvetkov V.M.
аспирант ФГБОУ ВПО «Санкт-Петербургский государственный университет технологии и дизайна», Россия, г. Санкт-Петербург
УДК 007.2
ЭНЕРГОЭФФЕКТИВНОСТЬ МОБИЛЬНЫХ УСТРОЙСТВ ПОД УПРАВЛЕНИЕМ ОПЕРАЦИОННОЙ СИСТЕМЫ ANDROID
Данная статья в настоящее время достаточно актуальна в связи с большим распространением таких устройств, как смартфоны и планшетные компьютеры. В большинстве из них используется операционная система Android. Как известно, эти устройства достаточно быстро расходуют свою энергию, поэтому в
Electrical and data processing facilities and systems. № 2, v. 10, 2014
79
Информационные комплексы и системы
статье рассмотрены проблемы энергоэффективности мобильных устройств под управлением операционной системы Android. Для этого будут проанализированы характерные особенности архитектуры данной операционной системы, ее программные слои (от ядра Linux до уровня приложений) и потенциальные факторы, которые могут влиять на энергопотребление и, как следствие, производительность системы. Подробно будет рассмотрена виртуальная машина DALVIK VM и ее роль в системе, а также приведена таблица потребления энергии датчиками мобильных устройств. На основании полученной информации будут предложены методы решения проблем на всех уровнях системы с целью уменьшения потребления энергии. При использовании комплексного подхода всех методов можно увеличить показатели энергоэффективности почти в два раза, что увеличивало бы рациональность использования в мобильных устройствах и планшетных компьютерах операционной системы Android, в отличие от других конкурирующих операционных систем.
Ключевые слова: Android, энергоэффективность, энергосбережение, мобильные устройства, архитектура, операционная система (ОС), смартфоны, планшеты, DALVIK VM, ART.
ENERGY MOBILE DEVICES UNDER THE CONTROL OPERATING SYSTEM ANDROID
This article is now more urgent due to the large spread of devices such as smartphones and tablet computers. Most of them use an operating system Android. As is known, these devices quickly enough expend their energy, so in the article the problems of energy efficiency of mobile devices running the operating system Android. This will be analyzed the characteristics of the architecture of the operating system and its software layers (from the Linux kernel to the application level), and the potential factors that may affect the energy consumption and, as a consequence, the performance of the system. Details will be discussed DALVIK VM virtual machine and its role in the system, as well as a table of energy consumption sensors mobile devices. Based on information obtained will be proposed methods for solving problems at all levels of the system, in order to reduce energy consumption. When using an integrated approach of all methods can increase the energy efficiency of nearly twice that would increase the rationality of use on mobile devices and tablet computers operating system Android, unlike other competing operating systems.
Key words: Android, energy efficiency, energy saving, mobile devices, architecture, operating system,
smartphones, tablets, DALVIK VM, ART.
Первый запуск операционной системы Android состоялся 23 сентября 2008 года. За прошедшие пять лет она произвела настоящую революцию в сфере мобильных устройств. На конец 2013 года доля устройств с этой операционной системой составляет 81% всего рынка, было выпущено порядка 186,7 млн. смартфонов. За прошедший период ОС Android практически вытеснила с рынка операционную систему Windows Phone (ее доля составляет 3,6%), начало которой было положено в 2000 году.
Среднестатистический пользователь предпочитает мобильные устройства с операционной системой Android за продуманный и удобный интерфейс, большое количество приложений и игр, которые можно скачать в «один клик» с Play Market, интересные анимационные эффекты, ненавязчиво увеличивающие плавность интерфейса. Продвинутый пользователь ценит Android за многозадачность, отсутствие сбоев в работе системы, обширное количество возможностей «из коробки», возможность заменять стандартное программное обеспечение сторонними программами. Разработчики любят эту
операционную систему за отличную документацию компонентов системы, кроссплатформенность инструментария разработки, открытость функционала компонентов системы.
С каждым годом производители смартфонов, планшетов и прочих мобильных устройств стремятся расширить линейку выпускаемых моделей устройств. Используются экраны разных типов, различные диагонали дисплеев, процессоры с разными тактовыми частотами и количеством ядер. Также производители стремятся увеличить срок работы устройства.
С каждым годом устройства требуют все больше энергии, поэтому самой большой проблемой для производителей остается увеличение количества часов работы устройства. Стоит острый вопрос снижения энергопотребления мобильного устройства.
При анализе операционной системы Android, были выделены следующие направления, по которым было бы реально достичь снижения энергопотребления: модель поведения датчиков и радиомо-
80
Электротехнические и информационные комплексы и системы. № 2, т. 10, 2014
Data processing facilities and systems
дуля, сокращения числа SMS и отправка их только при хорошем сигнале, конвертация flash-анимации, умное проектирование интерфейса. Однако, прежде чем рассмотреть их подробнее, рассмотрим основные источники повышенного энергопотребления.
Энергопотребление всего устройства можно рассматривать, разделяя его на составляющие:
• потребление энергии операционной системой;
• потребление энергии пользовательскими приложениями;
• потребление энергии датчиками, компонентами устройства.
Операционная система Android состоит из четырех слоев программного обеспечения (см. рис.) [1]. На каждом слое существует множество факторов, которые гипотетически могут влиять на состояние системы: энергопотребление, производительность.
Уровень ядра является слоем абстракции между оборудованием и программным обеспечением. Ядро представляет собой Linux с дополнительными расширениями, написанными специально для системы Android (механизмы распределения памяти, взаимодействия между процессами, система управления энергопотреблением).
Система управления энергопотреблением (Android Power Management) разработана на основе стандартного драйвера управления питанием Linux, оптимизированного под специфику работы
мобильных устройств.
Ядро позволяет верхним слоям Android оставаться неизменным, что облегчает разработку приложений. Все виды оборудования функционируют с помощью драйверов, входящих в ядро.
На следующем уровне расположены системные библиотеки и виртуальная машина Dalvik.
Системные библиотеки, написанные на C/C++, используются компонентами операционной системы. Среди них можно выделить библиотеки, предназначенные для проигрывания аудио- и видеофайлов популярных форматов (MPEG4, H.264, MP3, AAC), работы с 2D и 3D графическими слоями, работы с шрифтами, взаимодействия с базой данных SQLite.
Разработчики могут использовать системные библиотеки через слой ApplicationFramework.
Одной из самых важных частей Android является Dalvik - основанная на регистрах виртуальная машина, разработанная и написанная Дэном Борнштейном (англ. Dan Bornstein) как часть мобильной платформы Android. Dalvik оптимизирован для низкого потребления памяти, это нестандартная регистр-ориентированная виртуальная машина, хорошо подходящая для исполнения на RISC-архитектурах процессоров, часто используемых в мобильных и встраиваемых устройствах, таких как коммуникаторы и планшетные компьютеры. Большинство виртуальных машин, используемых в настольных системах, являются стек-
Рис. Архитектура операционной системы Android
Electrical and data processing facilities and systems. № 2, v. 10, 2014
81
Информационные комплексы и системы
ориентированными и включают в себя стандартную виртуальную машину Java от Oracle.
Программы для Dalvik пишутся на языке Java. Несмотря на это стандартный байт-код Java не используется, вместо него Dalvik VM исполняет байткод собственного формата. После компиляции исходных текстов программы на Java (при помощи javac) утилита dx из «Android SDK» преобразует .class файлы в формат .dex, пригодный для интерпретации в Dalvik.
Виртуальная машина Dalvik, на которой построена вся операционная система Android, дает разработчикам удобный механизм для написания приложений. В то же время программы, исполняемые на виртуальной машине, используют значительно большее количество памяти, чем программы, написанные на «нативных» языках, таких как С++, С, go.
Начиная с Android 4.4 «Kitkat» можно изменить среду выполнения программ c Dalvik на ART. ART представляет из себя AOT-компилятор (Ahead-Of-Time), который преобразует Java-код в «нативный» в процессе установки приложения. То есть пользователь запускает программу уже скомпилированной, что существенно ускоряет ее открытие и выполнение.
Таким образом, снижением энергопотребления операционной системы занимается сам разработчик. Также компания позаботилась и о рекомендациях к разработке приложений, пользуясь которыми разработчики могут создать «правильное», не отъедающее лишние ресурсы, приложение.
Перейдем к рассмотрению возможных методов снижения энергопотребления устройств. Один из
Потребление эн
возможных путей сохранения энергии - контроль потребления энергии датчиками и антенной связи. Потребление энергии различными датчиками современных моделей смартфонов представлено в таблице [2].
На деле эти датчики не являются востребованными и часто используемыми. Возможно разработать приложение, которое будет устанавливать включение датчиков только в случае надобности их в данном приложении, например, включение датчика ориентации в играх и при чтении книги.
Расход энергии радиомодулем в сети GSM при простое на 89% экономичнее, а при совершении звонка сеть UMTS потребляет на 49% больше энергии. При плохом покрытии радиомодуль периодически перерегистрируется в одну из сетей, которая наиболее устойчивая. В связи с этим можно разработать приложение, переключающее радиомодуль в режим UMTS только в зонах, где есть более высокий сигнал. Также возможно вычислять поездки в метро и включать «режим полета», что еще больше сэкономит драгоценный заряд батареи.
Технология Adobe Flash в своей основе содержит векторную графику, а значит, математические модели, обрабатывающиеся в одноименной виртуальной машине, которая в свою очередь использует много ресурсов центрального процессора. При вебсерфинге, используя аналоги AdobeFlash, такие как html5 Canvas, можно добиться увеличения времени работы устройства до 45 процентов. Одним из вариантов решения проблемы является запись цикла анимации или конвертация ее на стороннем серве-
Таблица
>гии датчиками
Назначение Потребление (мА)
датчик вращения 4,2
датчик приближения 0,75
датчик ориентации 4,2
датчик магнитного поля 4,0
датчик ускорения 0,2
датчик света 0,75
датчик силы тяжести 0,2
акселерометр 0,2
82
Электротехнические и информационные комплексы и системы. № 2, т. 10, 2014
Data processing facilities and systems
ре, при запросе страницы в более энергоэкономичное решение.
Экран является одним из самых энергозатратных компонентов смартфона. AMOLED-дисплей потребляет гораздо меньше энергии, чем LCD при отображении темных цветов. Таким образом, проектируя пользовательский интерфейс, можно позаботится и о времени работы некоторых устройств потенциальных пользователей программного обеспечения.
Одной из часто используемых функций в современном обществе является отправка SMS - коротких текстовых сообщений. В среднем общительный человек отправляет 2-3 тысячи сообщений в месяц. При чем общение происходит интервально. Можно создать приложение, которое будет компоновать сообщения в течение нескольких минут и посылать их одним пакетом и только при наилучшем сигнале сети. Приложение может быть рассчитано на определенную группу: при анализе текста часто используемые слова заносятся в базу и им выдается код. Например: сообщение «Привет. Как дела?» будет заменено на код «01.01100». Таким образом, сократится не только количество SMS, что приведет к снижению энергопотребления радиомодуля, но и уменьшится денежный расход на оплату услуги для пользователей.
Так как операционная система Android работает на ядре Linux, то существует возможность писать программы на более низкоуровневых языках, нежели Java, тем самым минуя виртуальную машину. Потребляя меньше ресурсов, мобильное устройство будет использовать меньше энергии. В этом направлении уже ведутся разработки. Проект BotBrew позволяет устанавливать программы Linux из собственного репозитория [3].
Таким образом, существует возможность увеличить время автономной работы устройства почти
в два раза за счет разработки приложений, ограничивающих частичную функциональность устройства, которая в данный момент не используется. При грамотном проектировании интерфейса можно достичь значительной экономии энергии, потребляемой AMOLED-дисплеем. Продуманный алгоритм компрессии SMS позволит не только экономить заряд, но и денежные средства при отправке меньшего количества SMS.
Список литературы
1. Голощапов А. Google Android. Системные компоненты и сетевые коммуникации [Текст] / А. Голощапов. - СПб.: БХВ-Петербург, 2012. - 384 с.
2. Сенсоры и Датчики (Акселерометр, датчик магнитного поля и т. д.) [Электронный ресурс]. - Режим доступа: http://4pda.ru/forum/index. php?showtopic=144999, открытый (дата обращения:
13.10.2013) .
3. Устанавливаем Linux-программы на смартфон под управлением Android [Электронный ресурс]. - Режим доступа: http://habrahabr.ru/company/ xakep/blog/208518/, открытый (дата обращения:
17.10.2013) .
References
1. Goloshhapov A. Google Android. Sistemnye komponenty i setevye kommunikacii [Tekst] / A. Goloshhapov. - SPb.: BHV-Peterburg, 2012. - 384 s.
2. Sensory i Datchiki (Akselerometr, datchik
magnitnogo polja i t.d.) [Eelektronnyj resurs]. - Rezhim dostupa: http://4pda.ru/forum/index.
php?showtopic=144999, otkrytyj (data obrashhenija:
13.10.2013) .
3. Ustanavlivaem Linux-programmy na smartfon pod upravleniem Android [Eelektronnyj resurs]. -Rezhim dostupa: http://habrahabr.ru/company/xakep/ blog/208518/, otkrytyj (data obrashhenija: 17.10.2013).
Electrical and data processing facilities and systems. № 2, v. 10, 2014
83