Читайте также: |
|
Операційна система 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 | Нарушение авторских прав