Описание процесса эмуляции программного обеспечения.
Эмуляция (англ. emulation) — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (на другой, отличной от первой, вычислительной системе таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы. Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели [1].
Достоинства эмуляции:
− эмуляция сохраняет также вид, поведение и ощущение от оригинальных систем, что не менее важно, чем данные сами по себе [1];
− несмотря на высокую изначальную стоимость создания эмулятора, со временем эмуляторы могут становиться более финансово выгодным решением;
− многие эмуляторы разработаны и доступны под лицензией GNU GeneralPublicLicense как открытое программное обеспечение, что расширяет масштабы сотрудничества;
− эмуляция позволяет использовать программное обеспечение, эксклюзивное для одной платформы, на другой платформе. Это особенно полезно, когда оригинальная система труднодоступна для обретения или несовместима с современным оборудованием [1].
Недостатки эмуляции:
− многие технологические компании, чтобы занять свою нишу на рынке, применяют при разработке своих продуктов нестандартизированные функции, постоянно внедряя улучшения, чтобы продукт оставался конкурентоспособным. Хоть это и приносит пользу, насыщая рынок технологичными продуктами и увеличивая рыночную долю продукта, это создает существенные проблемы пользователям, занимающимся архивированием, ввиду отсутствия всей необходимой документации, так как аппаратное и программное обеспечение проприетарно по своей сути;
− законы об авторских правах до сих пор не регламентируют защиту документации и спецификаций проприетарного оборудования и программ, встроенных в эмулятор.
Возможности реализации работы мобильной операционной системы Android средствами эмуляции.
Рассмотрим несколько популярных эмуляторов Android. Из числа популярных можно выделить несколько:
− Genymotion;
− BlueStacks;
− Droid4X.
Эмулятор Android Genymotion создавался для широкого круга пользователей, а не только для разработчиков мобильных приложений под ОС Android. Эмулятор доступен для таких операционных систем как Windows, Mac OS и Linux и для корректной работы требует предустановленный VirtualBox. Genymotion представлен в двух вариациях — платно и бесплатно. Возможности платной версии эмулятора значительно шире, нежели бесплатной, например, в ней доступна функция Multi-touch, и в основном предназначена для больших компаний, разрабатывающих программное обеспечение под Android.
Особенности Genymotion:
− быстрая загрузка и запуск предварительно настроенных образов Android. Список устройств постоянно расширяется;
− эмулируется соединение Wi-Fi;
− аппаратное ускорение с OpenGL, режим полноэкранного просмотра;
− поддерживает ADB;
− эмуляция как задней, так и передней камер, вспышки;
− плагины к Eclipse и AndroidStudio для разработчиков мобильных приложений;
− поддерживает Windows, Mac и Linux;
− возможность установки приложений из GooglePlay;
− возможность изменять IMEI виртуального устройства (в платной версии);
− FactoryReset — полный сброс виртуального Android;
− изменение количества CPU и объема RAM в настройках виртуального Android устройства [2]
На рис. 1 представлено изображение рабочего окна программы.
Рис. 1. Эмуляция работы телефона SonyXperiaZ на базе Android 4.3 с помощью эмулятора Genymotion
BlueStacksAppPlayer (рис. 2) — программа для запуска Android-приложений на компьютере под управлением ОС Windows или Mac OS. Она может быть использована в качестве утилиты для получения доступа к файловой системе.
Основные возможности:
− синхронизация приложений телефона с эмулятором;
− поддержка Android Debug Bridge (ADB);
− наличие виртуальных SD-карт;
− возможность получения root-доступа;
− многоязычный интерфейс, в том числе на русском языке [3].
Рис. 2. Эмуляция работы Android с помощью BlueStacksAppPlayer
Droid4X (рис. 3) — эмулятор, разработанный на базе Android версии 4.2.2. В Droid4X эмулируется устройство с 16Гб встроенной памяти и 32 Гб внешней памяти (SD карта).
Из основных особенностей можно отметить:
− синхронизация со смартфоном или планшетом;
− Multi-Touch;
− использование мобильного устройства в качестве контроллера;
− синхронизация между эмулятором и компьютером;
− установка Android приложений из Windows [3].
Рис. 3. Эмуляция работы Android с помощью Droid4X
Наиболее широкими возможностями, как сказано выше, и более дружественным пользовательским интерфейсом обладает программа Genymotion, поэтому ее можно посоветовать для использования, при работе с эмулированной мобильной средой Android.
Отдельно можно выделить способ запуска Android с помощью программного обеспечения для работы с виртуальными машинами, например такого, как VMWare Workstation, Hyper-V, VirtualBox и другие. Для его реализации необходима программа для работы с виртуальными машинами и образ системы Android. Также в ряде случаев необходимо, чтобы процессор поддерживал технологию виртуализации Intel-VT или AMD-V [4].
VMWare Workstation поддерживает мосты с сетевым адаптером реального компьютера, а также создание общих папок с виртуальной машиной. Программа может монтировать реальные CD или DVD диски или ISO-образы в виртуальные оптические приводы, при этом виртуальная машина будет считать, что приводы настоящие. Виртуальные машины хранятся в файлах vmdk [5]. VMWare Workstation в любой момент может сохранить текущее состояние виртуальной машины (снимок). Данные снимки позже могут быть восстановлены, что возвращает виртуальную машину в сохраненное состояние.
Дистрибутив для гостевой операционной системы Android можно скачать по ссылкам на странице загрузки Android-x86 Project, команда которого занимается портированием Android на аппаратную платформу x86 (рис. 4).
Рис. 4. Страница загрузки дистрибутивов Android
Данный способ эмуляции работы мобильной операционной системы Android примечателен тем, что есть возможность установки на аппаратную платформу х86 и, что не мало важно, нет необходимости в поиске специализированного программного обеспечения (например такого, как Genymotion), а с помощью стандартных пакетов программ для работы с виртуальными средами VMWare Workstation, Hyper-V, VirtualBox и других.
Литература:
- Koninklijke Bibliotheek What is emulation? [Электронный ресурс]. — Режим доступа: http://www.kb.nl/hrd/dd/dd_projecten/projecten_emulatiewatis-en.html.
- Features of Genymotion [Электронный ресурс]. — Режим доступа: http://www.genymotion.com/.
- Features of BlueStacks App Player [Электронный ресурс]. — Режим доступа: http://www.bluestacks.com/ru/index.html.
- Н. В. Елманова, С. Г. Пахомов Виртуальные машины 2007 [Электронный ресурс]. — Режим доступа: http://compress.ru/article.aspx?id=18046&iid=838.
- VMware vSphere 4.1 Security Hardening Guide [Электронный ресурс] — Режим доступа: https://communities.vmware.com/docs/DOC-15413.