Обзор мобильной операционной системы Android, Архитектура операционной системы Android - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг

ОС Android - операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила компания Google. Первая версия ОС Google Android вышла в сентябре 2008 года. В конце 2010 года платформа Android стала самой продаваемой ОС для смартфонов.

ОС Android - это набор открытого программного обеспечения для мобильных устройств от компании Google, в состав которого входит операционная система и комплект базовых межплатформенных приложений. Приложения для ОС Android являются программами в байт-коде для виртуальной машины Dalvik, которая является частью мобильной платформы Android.

Архитектура операционной системы Android

Если представить компонентную модель Android в виде иерархии (Рис.2) [2], то можно выделить 4 основных уровня:

Уровень ядра Linux;

Уровень библиотек (Libraries);

Уровень среды исполнения (Android Runtime);

Уровень каркаса приложений (ApplicationFramework);

Уровень приложений (Applications).

Уровень ядра Linux. В самом низу, в основе будет располагаться ядро операционной системы. ОС Android основана на ОС Linux версии 2.6, тем самым платформе доступны системные службы ядра, такие как управление памятью и процессами, обеспечение безопасности, работа с сетью и драйверами. Также ядро служит слоем абстракции между аппаратным и программным обеспечением.

обзор архитектуры android

Рис.2 Обзор архитектуры Android

Уровень библиотек (Libraries)."Выше" ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек, предназначенный для решения типовых задач, требующих высокой эффективности. То есть, именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации, отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.

Перечислим некоторые из низкоуровневых библиотек:

SurfaceManager - диспетчер поверхностей управляет доступом к подсистеме отображения 2D - и 3D - графических слоев.

Media Framework - библиотеки, c помощью которых система может осуществлять запись и воспроизведение аудио и видео данных, а также вывод статических изображений.

SQLite - легковесная и производительная реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных.

3D libraries - библиотеки для работы с 3D-графикой.

FreeType - библиотека, предназначенная для работы со шрифтами.

LibWebCore - ядро встроенного web-браузера.

SGL (ScalableGraphicsLibrary) - библиотека для работы с 2D-графикой.

SSL - библиотеки для поддержки одноименного криптографического протокола.

Libc - библиотека стандартных вызовов языка C.

Уровень среды исполнения (Android Runtime). На этом же уровне располагается Android Runtime - среда выполнения прикладных программ. Ключевыми ее составляющими являются набор стандартных библиотек и виртуальная машина Dalvik. Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. Архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других ее составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить ОС Android и устройство на ее базе. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для Android Runtime.

Уровень каркаса приложений (ApplicationFramework). ОС Android позволяет полностью использовать API (интерфейс программирования приложений - набор готовых классов, процедур, функций, структур и констант) используемый в приложениях ядра. Архитектура построена таким образом, что любое приложение может использовать уже реализованные возможности другого приложения при условии, что последнее откроет доступ на использование своей функциональности. Таким образом, архитектура реализует принцип многократного использования компонентов ОС и приложений.

Основой всех приложений является набор систем и служб:

Диспетчер действий (ActivityManager) управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с действиями.

Диспетчер окон (Window Manager) управляет окнами, и предоставляет для приложений более высокий уровень абстракции библиотеки Surface Manager.

Поставщик содержимого (ContentProviders) - это службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять доступ к своим данным.

Система представлений (ViewSystem) - это богатый набор представлений с расширяемой функциональностью, который служит для построения внешнего вида приложений, включающий такие компоненты, как списки, таблицы, поля ввода, кнопки и т. п.

Диспетчер уведомлений (NotificationManager) позволяет любому приложению отображать пользовательские уведомления в строке статуса.

Диспетчер пакетов (Package Manager) управляет установленными пакетами на вашем устройстве, отвечает за установку новых и удаление существующих.

Диспетчер телефонии (Telephony Manager) содержит API для взаимодействия с возможностями телефонии (звонки, смс и т. п.)

Диспетчер ресурсов (ResourceManager) предназначен для доступа к строковым, графическим и другим типам ресурсов.

Диспетчер местоположения (Location Manager), позволяющий приложениям получать обновленные данные о текущем географическом положении устройства

Уровень приложений (Applications). На вершине программного стека Android лежит уровень приложений. Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. И помимо этого базового набора к уровню приложений относятся все прикладные приложения под платформу Android, в том числе и установленные пользователем. [3][4]

Похожие статьи




Обзор мобильной операционной системы Android, Архитектура операционной системы Android - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг

Предыдущая | Следующая