Реферат
Архітектура платформи Google Android
Введення
Android - це програмний стек для мобільних пристроїв, який включає операційну систему, програмне забезпечення проміжного шару (middleware) та основні користувальницькі додатки (e-mail-клієнт, календар, карти, браузер, контакти та ін. ).
Всупереч поширеній думці, Android встановлений не тільки на планшетах і смартфонах, а й на електронних книгах, цифрових програвачах, наручних годинниках, нетбуках і навіть окулярах Google.
Ця платформа є найпопулярнішою на ринку: вона встановлена ??на 68% пристроїв. Число програм в магазині додатків Google Play перевищує 600000 одиниць. За весь час роботи магазину було виконано 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, або каркас додатків. Саме через каркаси додатків розробники отримують до...