Рівень бібліотек (Libraries)
Платформа Android включає набір C / C ++ бібліотек, використовуваних різними компонентами ОС. Для розробників доступ до функцій цих бібліотек реалізований через використання Application Framework. Нижче представлені деякі з них:
1. System C library - BSD-реалізація стандартної системної бібліотеки C (libc) для вбудованих пристроїв, заснованих на Linux.
2. Media Libraries - бібліотеки, засновані на PacketVideo's OpenCORE, призначені для підтримки програвання і записи популярних аудіо- та відео- форматів (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG і т.п.).
3. Surface Manager - менеджер поверхонь управляє доступом до підсистеми відображення 2D- і 3D- графічних шарів.
4. LibWebCore - сучасний движок web-браузера, який надає всю міць вбудованого Android-браузера.
5. SGL - движок для роботи з 2D-графікою.
6. 3D libraries - движок для роботи з 3D-графікою, заснований на OpenGL ES 1.0 API.
7. FreeType - бібліотека, призначена для роботи зі шрифтами.
8. SQLite - потужний легкий движок для роботи з реляційними БД.
Рівень середовища виконання (Android Runtime)
До складу Android входить набір бібліотек ядра, які надають більшу частину функціональності бібліотек ядра мови Java.
Платформа використовує оптимізовану, регістр-орієнтовану віртуальну машину Dalvik, на відміну від неї стандартна віртуальна машина Java - стек-орієнтована. Кожна програма запускається в своєму власному процесі, зі своїм власним примірником віртуальної машини. Dalvik використовує формат Dalvik Executable (* .dex), оптимізований для мінімального використання пам'яті додатком. Це забезпечується такими базовими функціями ядра Linux, як організація потокової обробки і низькорівневе управління пам'яттю. Байт-код Java, на якому написані ваші програми, компілюються в dex-формат за допомогою утиліти dx, що входить до складу SDK.
Рівень ядра Linux (Linux Kernel)
Android заснований на ОС Linux версії 2.6, тим самим платформі доступні системні служби ядра, такі як управління пам'яттю і процесами, забезпечення безпеки, робота з мережею і драйверами. Також ядро служить шаром абстракції між апаратним і програмним забезпеченням.
Доступні бібліотеки:
§ Bionic - бібліотека стандартних функцій, несумісна з libc
§ SSL - шифрування
§ Media Framework (PacketVideo OpenCORE, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG)
§ Surface Manager
§ LibWebCore (на базі WebKit)
§ SGL - 2D-графіка
§ OpenGL ES - 3D-бібліотека
§ FreeType - шрифти
§ SQLite - легковага СУБД
У порівнянні зі звичайними додатками Linux, додатки Android підкоряються додатковим правилам:
§ Content Providers - обмін даними між додатками;
§ Resource Manager - доступ до таких ресурсів, як файли XML, PNG, JPEG;
§ Notification Manager - доступ до рядку стану;
§ Activity Manager - управління активними додатками.
Для Android був розроблений формат архівних виконуваних файлів-додатків .apk
Хочу детально зупинитися на версії Android 1.6 «Donut»,оскільки ця ОС встановлена на планшеті EKEN M001,що є,власне,темою для дослідження в дипломному проекті.
Android 1.6 Donut. 15 вересня 2009 вийшло в світ оновлення операційної системи. Android потребував доробках стабільності, продуктивності та безпеки. Це стало чудовим приводом розширити функціональність: - Швидкий пошук, - Галерея, камера - Підтримка CDMA, EVDO, 802.1x, VPN, - Індикатор акумулятора, - Перетворення мови в текст, - Підтримка движка багатомовного вимови, - Полегшений пошук додатків і скріншоти в Android Market, - Підтримка дозволу WVGA, - Нові API і інструмент для роботи з жестами.
Українська назва: «Пончик»
• Поліпшено роботу з магазином додатків Android Market.
• Інтегрований інтерфейс для роботи з фото-і відеокамерою, а також інтерфейс галереї, що дозволяє вибрати кілька об'єктів.
• Додана функція мультимовного голосового пошуку.
• Оновлена функція пошуку, яка дозволяє вести пошук серед закладок, історії, контактів, а також в інтернеті.
• Підвищено швидкість роботи додатків пошуку і камери.
• Додана підтримка CDMA / EVDO, 802.1x, VPN, а також функція синтезу мови.
• Підтримка дозволів WVGA.
• долучення фреймворк жестів та інструмент GestureBuilder.
• Додана безкоштовна можливість покрокової навігації від Google
Дата виходу: 15 вересня 2009 • Версія ядра Linux: 2.6.29
Висновок
Операційна система Android це система з відкритим вихідним кодом, яка була випущена відносно недавно, але вже встановлюється на величезну кількість різноманітних смартфонів та інших мобільних пристроїв. У неї є як переваги - вона вкрай гнучка в налаштуваннях і швидка в роботі, так і недоліки - деяким, особливо новачкам, вона може може здатися надто вигадливою і заплутаною, а гігантське число мобільних пристроїв з різними версіями операційної системи може шокувати і досвідчених користувачів.
Гідності Android OS
Гнучкість Андроїд ОС
Відкритий вихідний код і сама структура платформи дозволяють змінювати буквально кожен елемент системи. Можна встановлювати додаткові віджети, програми, розміщуючи їх на домашніх екранів в будь-якому порядку. Абсолютно всі програми замінні і при бажанні можете видалити, наприклад, стандартний модуль дзвінків або смс і встановити сторонній. Змінюється і замінюється все! Відтепер не потрібно підлаштовуватися під телефон, при бажанні ви можете змінити його під себе.
Швидкодія телефону
Головною фішкою цієї платформи в Google вирішили зробити саме швидкодія, їм повною мірою вдалося здійснити задумане, до того ж з кожним оновленням швидкість роботи пристроїв і здатність вичавити з мобільного заліза максимум збільшуються. Додатки літають, менюшки НЕ підвисають ... Єдине, деякі мобільні пристрої, яким поскупилися на гідне залізо все ж можуть трохи гальмувати.
Інтеграція з Google сервісами
Тільки лише купивши телефон, ввівши логін і пароль від аккаунта в Гуглі ви можете натисканням клавіші імпортувати контакти, календарні події, і багато іншого. До того ж такий зв'язок дозволяє зберігати великі обсяги різної інформації в інтернеті.
Мультизадачність - кілька програм одночасно
Мабуть ця функція до появи iPhone не була чимось незвичайним, швидше її відсутність валило в шок. Але зараз її наявність варто підкреслити окремо.
Android Market для Android OS
Вкрай зручна база ПЗ, прямо як AppStore у Apple, але вона подає великі надії завдяки більш простому для розробників розміщенню додатків - кількість доступних додатків зростає з кожним днем. До того ж встановлювати їх дуже легко.
Підтримка Flash
Недоліки Андроїд ОС
Фрагментація версій платформи
Ця система від Google вийшла не так давно на ринок мобільних пристроїв, але відразу ж привернула увагу. Щоб бути конкурентоспроможною серед таких гігантів як Symbian OS, Windows Mobile або iPhone OS доводиться дуже часто оновлюватися. У цьому й полягає проблема. Виробникам потрібно доопрацювати напильником кожне оновлення, щоб воно працювало на певної моделі телефону, а так як виробників і тим більше моделей величезна кількість - поновлення на старі телефони виходять або з величезним запізненням, або взагалі не виходять. А свіжі версії операційної системи найчастіше має меншість телефонів (праворуч ви можете побачити статистику на 1 липня 2010 року). Через це творці додатків часто пишуть програми для старих версій, щоб було легше поширювати своє творіння.
Безпека Андройд ОС
На даний момент в мережі ще немає жартів з приводу дірявість платформи в плані безпеки, але відкритий вихідний код піддає трубку ризику бути зламаної. В Google провели дослідження і заявили, що кожне п'яте додатки для Андройд ОС є потенційно небезпечним і може призвести до крадіжки особистих даних. Благо зараз не надто популярні телефонні віруси і сама Андроїд ОС не володіє лідируючими позиціями на ринку, це трохи заспокоює. До того ж UNIX системи для персональних комп'ютерів, маючи відкритий вихідний код, є одними з найбільш безпечних.
Складність
Така кількість софта і всіляких налаштувань можуть відлякати користувачів, яким від телефону потрібні лише основні функції. Але уважне читання довідкових матеріалів інтуїції дозволять вам не заплутатися.
"Незграбність"
Android OS вдосконалюється з кожним оновленням, додаються нові елементи інтерфейсу і можливості, збільшується продуктивність і багато іншого, але є якась недоробленість. Вона не так сильно вилизане як, наприклад, iPhone OS або Palm WebOS. Але тим не менш якість на висоті.
В Android OS не вистачає деякої елегантності її головних ворогів (iPhone OS і Palm webOS), але вона постійно розвивається і вилизується. До того ж кількість мобільних пристроїв на цій платформі збільшується з кожним днем. Підібрати собі що-небудь по руці, гаманцю і смаку не складе труднощів. Якщо все підлаштовувати під себе - то Андроїд ОС це можливий вибір.
Планшет EKEN M001,взятий мною для дослідження в дипломному проекті, побудований на ARM-процесорі,який підтримує ОС Android 1.6
Ознайомившись з характеристиками ARM-процесорів,зрозумів,що
Мал.1.
Процесор,
побудований на архітектурі ARM.
серце будь-якого девайса, що працює під управлінням Google Android OS - процесор, побудований на архітектурі ARM.
ARM - це як позначення типу архітектури процесора (Advanced RISC Machine), так і назва компанії-холдингу, яка займається розробкою 32-бітових процесорів на базі RISC-топології. Я вважаю,що компанія не займається виробництвом як таким. Вона лише розробляє самі процесори, а дохід має з продажу ліцензій на виготовлення процесорів іншим компаніям. Я знайшов основний список ліцензіатів: Alcatel-Lucent, Apple Inc., Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, DEC, LG, Marvell Technology Group, Microsoft, NEC, Nintendo, Nvidia, Sony, Oki, ON Semiconductor, Qualcomm , Samsung, Sharp, STMicroelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha і ZiiLABS (Creative).
Мал.2., мал.3-позначення типу архітектури процесора ARM.
Мал.4.Система на чіпі
Тобто, будь то процесор Texas Instruments OMAP або NVIDIA Tega 2, основа його - розробка компанії ARM. Але це не говорить про те, що процесори однакові. Сімейства, так, можуть бути однакові. Але от сама реалізації чіпа цілком, де крім самого процесора знаходиться ще й купа всього, повністю залежить від компанії-виробника. Адже серце практично будь-якого смартфона або планшетного ПК - SoC (System On Chip), що перекладається, як «система на чіпі». Крім самого процесора як такого, на цьому ж чіпі (одна мікросхема) може бути реалізовано практично все, включаючи графічний процесор, модуль GPS, модулі зв'язку, контролери дисплея і різноманітних портів і т.д. Мало того, що сама топологія RISC (Reduced Instruction Set Computer - "комп'ютер із зменшеним набором команд") передбачає набагато більш низьке енергоспоживання, ніж х86 (те, що ми використовуємо в звичайних комп'ютерах), як мінімум за рахунок того, що кристали процесорів містять набагато менше транзисторів, споживачів енергії, так ще й поєднання всієї потрібної периферії на одному кристалі робить енергоефективність всієї системи ще краще. Плюс до всього ми, споживачі, отримуємо і ще один бонус - низька ціна пристрою. Думаю, це також дозволяє робити девайси дуже компактними.
Я шукав відповідь на питання: «У чому ж різниця ARM архітектури та x86? » Згодом зя'сував,що вся різниця у корені. ARM виконує тільки цілочисельні обчислення, в той час, як x86 може виконувати ще й обчислення з «плаваючою комою». Набір і довжина команд у x86 на порядки більше. У якихось операціях з даними x86 буде набагато швидше ARM, а в якихось - навпаки. Відтак,я зрозумів, чому на пристроях з процесором ARM неможливо поставити Windows, наприклад: ARM не підтримує ту гору процесорних команд (інструкцій), що знає і вміє x86, які в більшості своїй не потрібні на мобільних пристроях. Але за рахунок цього ARM архітектура виграє багато в чому іншому. І в кращій підтримці мультиядерності, багатопотоковості - менше розмір і кількість команд, а значить простіше розподілити; і в енергоефективності - та ж частота процесора, але операцій виконується більше, а сам процесор має набагато менше споживання енергії.
Отже, ARM процесори використовуються далеко не тільки в планшетах і смартфонах на базі ОС Гугл Андроїд, але практично у всіх будь-яких інших мобільних пристроях. Навіть в будь-якому простому телефоні серце - процесора на базі ARM, тільки спеціалізований.
Характеристики ARM-процесорів:VIA 8505.
Підтримує робочі частоти 300 - 600 MHz.
Встановлюється на найбюджетніші пристрої. Продуктивність достатня для роботи в режимі програвання музики, читання книг, неспішного браузинга і відтворення відео з невеликим дозволом. Підтримує ОС Android 1.6.Саме цю ОС застосовану на ARM-процесорі VIA 8505 використав китайський виробник планшета EKEN M001.
