Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Платформа Андроид и его основа



Android – операционная система для мобильных устройств: смартфонов, планшетных компьютеров, КПК. В настоящее время именно Android является самой широко используемой операционной системой для мобильных устройств. 

В 2003 году в Пало Альто, штат Калифорния Энди Рубин с  единомышленниками (Рич Майнер, Ник Сирс и Крис Уайт) основали компанию Android Inc. Поначалу в компании занимались проектированием мобильных гаджетов, которые на основе геолокационных данных автоматически подстраивались под нужды пользователей. В августе 2005 года An droid Inc. стала дочерней компанией Google. Энди Рубин, Рич Майнер и Крис Уайт остались в Android Inc. и начали работать над операционной системой, базирующейся на ядре Linux.

В Google задумали реализовать мощнейшую платформу, пригодную к использованию на тысячах различных моделей телефонов. В связи с этим был создан Open Handset Alliance (OHA) - консорциум, состоящий из более 80 компаний, направляющий свои усилия на разработку открытых стандартов для мобильных устройств. В состав OHA входят такие гиганты, как Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T - Mobile, Sprint Corporation, NVIDIA и многие другие.

Первая версия Android была представлена 23 сентября 2008 года, версии было дано название Apple Pie (яблочный пирог). Далее так повелось, что название каждой очередной версии представляет какой - либо десерт, при этом первые буквы наименований в порядке версий соответствуют буквам латинского алфавита по порядку. 

Платформа Android объединяет операционную систему, построенную на основе ядра ОС Linux, промежуточное программное обеспечение и встроенные мобильные приложения. Разработка и развитие мобильной платформы Android выполняется в рамках проекта AOSP ( Android Open Source Project ) под управлением OHA ( Open Hands et Alliance), руководит всем процессом поисковый гигант Google. Android поддерживает фоновое выполнение задач; предоставляет богатую библиотеку элементов пользовательского интерфейса; поддерживает 2D и 3D графику, используя OpenGL стандарт; поддерживает доступ к файловой системе и встроенной базе данных SQLite.

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

· Базовый уровень (Linux Kernel) - уровень абстракции между аппаратным уровнем и программным стеком;

· Набор библиотек и среда исполнения (Libraries & Android Runtime) обеспечивает важнейший базовый функционал для приложений, содержит виртуальную машину Dalvik и базовые библиотеки Java необходимые для запуска Android приложений;

· Уровень каркаса приложений (Application Framework) обеспечивает разработчикам доступ к API, предоставляемым компонентами системы уровня библиотек;

· Уровень приложений (Applications) - набор предустановленных базовых приложений.

Наглядное изображение архитектуры на рисунке 1.1.

Рис. 1.1.

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

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

Уровнем выше располагается набор библиотек и среда исполнения. Библиотеки реализуют следующие функции:

· предоставляют реализованные алгоритмы для вышележащих уровней;

· обеспечивает поддержку файловых форматов;

· осуществляет кодирование и декодирование информации (например, мультимедийные кодеки);

· выполняет отрисовку графики и т.д.

Библиотеки реализованы на С/С++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде. Рассмотрим некоторые библиотеки: Surface Manager – композитный менеджер окон. Поступающие команды отрисовки собираются в закадровый буфер, где они накапливаются, составляя некую композицию, а потом выводятся на экран. Это позволяет системе создавать интересные бесшовные эффекты, прозрачность окон и плавные переходы.

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

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

3D библиотеки – используются для высокооптимизированной отрисовки 3D - графики, при возможности используют аппаратное ускорение. Библиотеки реализованы на основе API OpenGL|ES.

OpenGL|ES (OpenGL for Embedded Systems) - подмножество графического программного интерфейса OpenGL, адаптированное для работы на встраиваемых системах.

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

LibWebCore – библиотеки браузерного движка WebKit, используемого также в известных браузерах Google Chrome и Apple Safari. SGL (Skia Graphics Engine) – открытый движок для работы с 2D - графикой. Графическая библиотека является продуктом Google и часто используется в других программах.

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

Libc – стандартная библиотека языка С, а именно ее BSD реализация, настроенная для работы на устройствах на базе Linux. Среда исполнения включает в себя библиотеки ядра, обеспечивающие большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java, и виртуальную машину Dalvik, позволяющую запускать приложения. Каждое приложение запускается в своем экземпляре виртуальной машины, тем самым обеспечивается изоляция работающих приложений от ОС и друг от друга. Для исполнения на виртуальной машине Dalvik Java - классы компилируются в исполняемые файлы с расширением.dex с помощью инструмента dx, входящего в состав Android SDK.

DEX (Dalvik EXecutab le) - формат исполняемых файлов для виртуальной машины Dalvik, оптимизированный для использования минимального объема памяти. При использовании IDE Eclipse и плагина ADT ( Android Development Tools ) компиляция классов Java в формат.dex происходит автоматически.

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

На еще более высоком уровне располагается каркас приложений ( Application Framework), архитектура которого позволяет любому приложению использовать уже реализованные возможности других приложений, к которым разрешен доступ. В состав каркаса входят следующие компоненты:

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

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

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

· менеджер оповещений ( No tification Manager ), позволяющий приложениям отображать собственные уведомления для пользователя в строке состояния;

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

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

Application Framework предоставляет в распоряжение приложений в ОС Android вспомогательный функционал, благодаря чему реализуется принцип многократного использования компонентов приложений и ОС. Естественно, в рамках политики безопасности.

Самый высокий и самый близкий к пользователю это – уровень приложений. Именно на этом уровне пользователь взаимодействует со своим устройством, управляемым ОС Android. Здесь представлен набор базовых приложений, который предустановлен на ОС Android. Например, браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и др. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. К этому уровню также относятся все пользовательские приложения. Разработчик обычно взаимодействует с двумя верхними уровнями архитектуры Android для создания новых приложений.

Библиотеки, система исполнения и ядро Linux скрыты за каркасом приложений.

Контрольные вопросы:

1. Для чего предназначена мобильная ОС?

2. Опишите достоинства и недостатки ОС Symbian.

3. Опишите достоинства и недостатки ОС Windows Mobile.

4. Опишите достоинства и недостатки ОС Palm.

5. Опишите достоинства и недостатки ОС iPhone OS.

6. Каково устройство платформы Android?

7. Что представляет собой Android SDK?

8. Назовите основные средства разработки под Android.

9. Опишите достоинства и недостатки эмуляторов Android.

10. Какая версия платформы наиболее популярна в настоящее время?



Начало работы с Android


Поделиться:



Последнее изменение этой страницы: 2019-05-04; Просмотров: 568; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь