Архитектура платформы Google Android

 














Реферат

Архитектура платформы Google Android


Введение

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

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

Эта платформа является самой популярной на рынке: она установлена на 68% устройств. Число программ в магазине приложений Google Play превышает 600 000 единиц. За всё время работы магазина было выполнено 20 млрд установок приложений. Согласно заявлениям Энди Рубина - руководителя разработки Android в Google - ежедневно в мире активируется 1.3 млн Android-устройств.

Эти данные и побудили меня исследовать вопрос об архитектуре платформы.


Архитектура Android


Рисунок 1. Структура платформы Google Android


Архитектура Google Android состоит из четырех уровней (нумерация обозначает порядок уровней снизу вверх).

)Ядро OS Linux версии 2.6 обеспечивает функционирование системы. Оно отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов. Кроме того, оно играет связующую роль между аппаратным обеспечением и остальной частью программного стека.

)Программное обеспечение промежуточного слоя - набор библиотек (Libraries), предназначенный для обеспечения важнейшего функционала для приложений.

Вот некоторые из них:

·Surface Manager - композитный менеджер окон. Вместо того, чтобы отрисовывать графику в буфер дисплея, система посылает поступающие команды отрисовки в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся пользователю на экран. Это позволяет создавать интересные бесшовные эффекты, прозрачность окон и плавные переходы.

·Media Framework - библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система осуществляет запись / воспроизведение аудио- и видео - контента, а также вывод статических изображений. Поддерживаются форматы MPEG4, H.264, MP3, AAC, AMR, JPG и PNG и др.

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

·3D библиотеки - используются для отрисовки 3D-графики, при возможности используют аппаратное ускорение. Реализуются на основе API OpenGL ES 1.0.

·FreeType - библиотека для работы для растеризации шрифтов и осуществления операций над ними.

·LibWebCore - библиотеки браузерного движка WebKit.

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

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

Все библиотеки написаны на языке C++ и скомпилированы под конкретное аппаратное обеспечение устройства.

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

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

3)Следующий уровень - Application Framework, или каркас приложений. Именно через каркасы приложений разработчики получают доступ к API, предоставляемым компонентами системы, лежащими ниже уровнем. Кроме того, благодаря архитектуре фреймворка, любому приложению предоставляются уже реализованные возможности других приложений, к которым разрешено получать доступ.

В базовый набор сервисов и систем, лежащих в основе каждого приложения и являющихся частями фреймворка, входят:

·Богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера.

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

·Менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам без функциональности (не несущими кода), например, к строковым данным, графике, файлам и другим.

·Менеджер оповещений (Notification Manager), благодаря которому все приложения могут отображать собственные уведомления для пользователя в строке состояния.

·Менеджер действий (Activity Manager), который управляет жизненными циклами приложений, сохраняет данные об истории работы с действиями, а также предоставляет систему навигации по ним.

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

Таким образом, приложения в ОС Android могут получать в своё распоряжение вспомогательные инструменты.

Отличия фреймворка от библиотеки

·Фреймворк только выполняет код, написанный для него, библиотеки исполняются сами.

·Фреймворк состоит из библиотек с разной функциональностью и назначением, а библиотеки объединяют наборы функций, близких по логике.

4)Уровень Applications. Сюда относятся базовые программы, предустановленные на Android. Это браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. Также на этом уровне располагается стороннее ПО. Система позволяет устанавливать его без ограничений, поэтому все стандартные приложения могут быть заменены аналогами. Приложения для Android пишутся на языке Java.


Заключение

android программа пользовательский операционный

Особенности архитектуры платформы Google Android позволили ей выйти на первое место среди других платформ. Главные из них:

)Грамотно разработанное ядро, заимствованное у системы Linux.

)Регистр-ориентированная виртуальная машина Dalvik для выполнения приложений.

)Инновационные библиотеки, значительно расширяющие функционал устройств.

)«Легковесная» СУБД SQLite для хранения данных.

)Возможность поддержки 3D и 2D графики, и даже комбинирования их в одном приложении.

)Многозадачность и изолированность процессов друг от друга.

)Универсальность архитектуры наряду с высоким качеством.


Список источников


1.Голощапов А.Л. Google Android: системные компоненты и сетевые коммуникации. - СПб.: БХВ-Петербург, 2012. - 384 c.

2.Фелкер Д. Android: разработка приложений для чайников. - М.: Диалектика, 2012. - 336 с.

3.Хашими С., Коматинени С., Маклин Д. Разработка приложений для Android. - СПб.: Питер, 2011. - 736 с.


Реферат Архитектура платформы Google Android Введение Android - это программный стек для мобиль

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ