Реферат
ПО ДИСЦИПЛИНЕ
«Операционные системы, среды и оболочки»
НА ТЕМУ
«Архитектура платформы Google Android»
Студента 1 курса
группы № 1.1
Фамилия
Имя
Отчество
_____________________ Подпись студента
Преподаватель
Оценка _____________
Подпись преподавателя ____________
МОСКВА
2013
Содержание
Архитектура Android 4
Заключение 9
Список источников 10
Введение
Google Android - это программный стек1 для мобильных устройств, который включает операционную систему, программное обеспечение промежуточного слоя (middleware) и основные пользовательские приложения (e-mail-клиент, календарь, карты, браузер, контакты и др.).
Вопреки распространенному мнению, Android установлен не только на планшетах и смартфонах, но и на электронных книгах, цифровых проигрывателях, наручных часах, нетбуках и даже очках Google.
Эта платформа является самой популярной на рынке: она установлена на 68% устройств2. Число программ в магазине приложений Google Play превышает 600 000 единиц. За всё время работы магазина было выполнено 20 млрд установок приложений. Согласно заявлениям Энди Рубина — руководителя разработки Android в Google — ежедневно в мире активируется 1.3 млн Android-устройств.
Эти данные и побудили меня исследовать вопрос об архитектуре платформы.
Архитектура Android
Рисунок 1. Структура платформы Google Android
Архитектура Google Android состоит из четырех уровней (нумерация обозначает порядок уровней снизу вверх).
-
Ядро OS Linux версии 2.6 обеспечивает функционирование системы. Оно отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек3 и модель драйверов. Кроме того, оно играет связующую роль между аппаратным обеспечением и остальной частью программного стека.
-
Программное обеспечение промежуточного слоя - набор библиотек (Libraries), предназначенный для обеспечения важнейшего функционала для приложений.
Вот некоторые из них:
-
Surface Manager – композитный менеджер окон. Вместо того, чтобы отрисовывать графику в буфер дисплея, система посылает поступающие команды отрисовки в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся пользователю на экран. Это позволяет создавать интересные бесшовные эффекты, прозрачность окон и плавные переходы.
-
Media Framework – библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система осуществляет запись/воспроизведение аудио- и видео- контента, а также вывод статических изображений. Поддерживаются форматы MPEG4, H.264, MP3, AAC, AMR, JPG и PNG и др.
-
SQLite – реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных, используемыми приложениями для хранения информации.
-
3D библиотеки — используются для отрисовки 3D-графики, при возможности используют аппаратное ускорение. Реализуются на основе API OpenGL ES 1.04.
-
FreeType – библиотека для работы для растеризации шрифтов и осуществления операций над ними.
-
LibWebCore – библиотеки браузерного движка WebKit.
-
SGL (Skia Graphics Engine) – библиотека для работы с 2D-графикой.
-
Libc – стандартная библиотека языка C, настроенная для работы на устройствах на базе Linux.
Все библиотеки написаны на языке C++ и скомпилированы под конкретное аппаратное обеспечение устройства.
На этом же уровне располагается среда выполнения Android Runtime. Она состоит из виртуальной Java-машины Dalvik и библиотек ядра. Dalvik поддерживает одновременную работу нескольких приложений и выполняет файлы в специальном формате .dex, оптимизированном для устройств с малым количеством памяти. Библиотеки ядра написаны на языке Java и поддерживают широкий диапазон функциональных возможностей.
Каждое приложение в Android Runtime запускается в собственном экземпляре виртуальной машины Dalvik. То есть, все работающие процессы изолированы от операционной системы и друг от друга. Особенность структуры Android Runtime позволяет осуществлять работу программ строго в рамках виртуальной машины. Благодаря этому ядро операционной системы защищено от влияния со стороны других компонентов. Код с ошибками или вредоносное ПО не смогут испортить систему или само устройство. Функция защиты, кроме непосредственного выполнения программного кода, является одной из ключевых для этого уровня.
-
Следующий уровень - Application Framework, или каркас приложений. Именно через каркасы приложений разработчики получают доступ к API5, предоставляемым компонентами системы, лежащими ниже уровнем. Кроме того, благодаря архитектуре фреймворка, любому приложению предоставляются уже реализованные возможности других приложений, к которым разрешено получать доступ.
В базовый набор сервисов и систем, лежащих в основе каждого приложения и являющихся частями фреймворка, входят:
-
Богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера.
-
Контент-провайдеры (Content Providers), управляющие данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы.
-
Менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам без функциональности (не несущими кода), например, к строковым данным, графике, файлам и другим.
-
Менеджер оповещений (Notification Manager), благодаря которому все приложения могут отображать собственные уведомления для пользователя в строке состояния.
-
Менеджер действий (Activity Manager), который управляет жизненными циклами приложений, сохраняет данные об истории работы с действиями, а также предоставляет систему навигации по ним.
-
Менеджер местоположения (Location Manager), позволяющий приложениям периодически получать обновленные данные о географическом положении устройства.
Таким образом, приложения в ОС Android могут получать в своё распоряжение вспомогательные инструменты.
Отличия фреймворка от библиотеки
-
Фреймворк только выполняет код, написанный для него, библиотеки исполняются сами.
-
Фреймворк состоит из библиотек с разной функциональностью и назначением, а библиотеки объединяют наборы функций, близких по логике.
-
Уровень Applications. Сюда относятся базовые программы, предустановленные на Android. Это браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. Также на этом уровне располагается стороннее ПО. Система позволяет устанавливать его без ограничений, поэтому все стандартные приложения могут быть заменены аналогами. Приложения для Android пишутся на языке Java.
Заключение
Особенности архитектуры платформы Google Android позволили ей выйти на первое место среди других платформ. Главные из них:
-
Грамотно разработанное ядро, заимствованное у системы Linux.
-
Регистр-ориентированная виртуальная машина Dalvik для выполнения приложений.
-
Инновационные библиотеки, значительно расширяющие функционал устройств.
-
«Легковесная» СУБД SQLite для хранения данных.
-
Возможность поддержки 3D и 2D графики, и даже комбинирования их в одном приложении.
-
Многозадачность и изолированность процессов друг от друга.
-
Универсальность архитектуры наряду с высоким качеством.
Список источников
Литература:
-
Голощапов А.Л. Google Android: системные компоненты и сетевые коммуникации. – СПб.: БХВ-Петербург, 2012. – 384 c.
-
Фелкер Д. Android: разработка приложений для чайников. – М.: Диалектика, 2012. – 336 с.
-
Хашими С., Коматинени С., Маклин Д. Разработка приложений для Android. – СПб.: Питер, 2011. – 736 с.
Интернет-ресурсы:
-
http://androidmarket.ru/?page_id=6402
-
http://android-shark.ru/arhitektura-operatsionnoy-sistemyi-android/
-
http://developer.android.com/guide/components/fundamentals.html
-
http://developers-android.narod.ru/guide/topics/fundamentals.html
-
http://habrahabr.ru/post/124484/
-
http://ru.wikipedia.org
-
http://www.3dnews.ru/phone/google-android
-
http://www.android-x.ru/content/development/dokumentatsiya/komponenty-android-prilozheniya
-
http://www.ixbt.com/soft/google-android-sdk.shtml
-
http://www.pcweek.ru/mobile/article/detail.php?ID=116280
Достарыңызбен бөлісу: |