Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Архітектурні рівні Android

Читайте также:
  1. Архітектурні стилі і шаблони
  2. Ахрітектура Android-додатку
  3. Види та рівні спілкування
  4. Виробнича потужність та її рівні
  5. Гендерна рівність у світі праці
  6. Емпіричний і теоретичний рівні наукового знання

Операційна система Android має три різних і сильно відокремлених один від одного рівня:

1. В основі лежить модифікована і спрощена версія Linux.

2. Над рівнем Linux знаходиться рівень інфраструктури додатку, що містить віртуальну машину Dalvik, веб-браузер, базу даних SQLite, деякі інфраструктурні додатки та Java API.

3. Рівень написаних у Google Android -додатків. Вони є розширенням рівня інфраструктури, оскільки розробник може використовувати ці програми або їх частини як будівельні блоки для власних розробок.

На рис. 2.1. Зображена архітектура ОС Android.

Рис. 2.1. Архітектура ОС Android

 

Рівень Linux

Якщо розглядати Linux на високому рівні, то це комбінація ядра (без якого не можна обійтися) і безлічі інших частин.

Вибір Linux в якості основи зробив величезний вплив на всі аспекти ОС Android. Збірка Android, по суті, є варіація процесу складання Linux. Код Android знаходиться під управлінням git (інструмент, розроблений для управління кодом Linux).

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

Рівень інфраструктури додатку

Для того, щоб один і той же додаток міг працювати на різному апаратному забезпеченні, компанія Google використовувала контейнер-орієнтовану архітектуру (container-based architecture). У такій архітектурі двійковий код виконується програмним контейнером і ізолюється від деталей конкретного апаратного забезпечення. Приклади - Java і C #. В обох мовах двійковий код не залежить від специфіки апаратного забезпечення і виконується віртуальною машиною.

Звичайно, є й інший спосіб досягти незалежності від апаратного забезпечення на рівні двійкового коду. Як один з варіантів, можна використовувати емулятор апаратного забезпечення, так само відомий як QEMU. Він дозволяє емулювати, наприклад, пристрій з процесором ARM на платформі x86. Google могла б використовувати C++ як мову для розробки додатків всередині емуляторів. Дійсно, Google використовує такий підхід у своїх емуляторах Android, які побудовані на основі QEMU.

 


Дата добавления: 2015-12-07; просмотров: 179 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)