Дослідження операційної системи Android 4.2 Jelly Bean

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,76 Мб
  • Опубликовано:
    2013-10-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Дослідження операційної системи Android 4.2 Jelly Bean

Міністерство освіти і науки, молоді та спорту України

Тернопільський національний технічний університет імені Івана Пулюя

(повне найменування вищого навчального закладу)

Комп’ютерні системи та мережі








КУРСОВА РОБОТА

на тему: Дослідження операційної системи Android 4.2 Jelly Bean












м. Тернопіль - 2013

ЗАВДАННЯ на курсову роботу

. Тема роботи Дослідження операційної системи Android 4.2 Jelly Bean

2. Термін здачі студентом закінченої роботи 28.05.2013

3. Вихідні дані до роботи Методи розробки ПЗ для ОС Android 4.2 Jelly Bean

4. Зміст розрахунково-пояснювальної записки (перелік питань, які підлягають розробці)

1. Аналіз технічного завдання;

.1 Загальні відомості та системні вимоги до ОС Android 4.2;

Cтруктура операційної системи;

.4 Система захисту ОС Android 4.2;

.5 Файлова система ОС Android 4.2;

. Засоби розробки для операційної системи;

.1 Засоби розробки для ОС Android 4.2;

5. Перелік графічного (ілюстративного) матеріалу, якщо передбачено

6. Дата видачі завдання        5.03.2013 р.

ВСТУП

Тема даної роботи стосується загального опису ОС (операційної системи) Android 4.2 Jelly Bean, яка створена на базі Linux для мобільних платформ. А також детального опису ключових компонентів, які і створюють умови для конкуренції на сучасному ринку операційних систем під мобільні платформи. На даний момент проблема створення хорошої операційної системи для смартфонів залишається актуальна. Розглянемо основні недоліки більшості операційних систем на смартфонах:

         Оптимізація енергоспоживання мікропроцесора;

         Керування смартфона за допомогою сенсора дотику;

         Доступ до можливості створення прикладних додатків, утиліт;

         Керування камерою та доступу до усього її функціоналу;

         Відтворення чіткого та якісного зображення;

         Швидкодії ядра та прикладних додатків та інші.

Отже кожен виробник операційних систем, ставить наголос як найоптимальніше виправити вище перелічені проблеми. Існує багато підходів до вирішення цих недоліків, та оптимізації апаратного забезпечення. Далі буде описано як саме дана операційна система виправляє дані проблеми.

1. АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ


1.1 Загальні відомості та системні вимоги до ОС Android 4.2


Android - операційна система <#"668650.files/image001.gif">

Опція

Android 4.0

Ядро

Linux

Підтримка стандартів зв'язку

GSM / CDMA / WiMAX / LTE

Багатозадачність

Повна

Підтримуване апаратне забезпечення

ARM-пристрої, немає прив'язки до обладнання

Рівень захисту

Середній

Наявність каталогу відео

Google Play Movies & TV

Браузер

Власна на базі коду Chrome

Підтримка Wi-Fi

802.11 a / b / g / n

Синхронізація по Wi-Fi

Відсутня

ПЗ для офісних документів

Відсутня, робота з Google Docs

Підтримка хмарних сервісів за замовчуванням

Google Sync

Каталог ПО

Google Play Store

Резервне копіювання даних в "хмарі"

Відсутня

Відеотелефонія

Так

Багатоядерність процесора

Так

1.2 Апаратна складова


Завдяки тому, що операційна система випускається з відкритим вихідним кодом, фактично будь-хто може випускати смартфони та планшети на її основі і при цьому вибирати той список програм для установки, який підходить до потужності девайса або ж просто є з ним сумісним. Тому смартфонів і планшетів на Android - неймовірна кількість, їх продають по всьому світу, і ця ОС навіть пропонувалася в експериментальному вигляді в нетбуках. Про те, наскільки стабільно і коректно працюють всі ці пристрої, ми скромно промовчимо - зрозуміло, що забезпечити безперебійність кожного смартфона команда виробників не в змозі. З іншого боку, аутсайдери і відсіваються досить швидко, залишаючи на прилавках лише кращих і перевірених часом.

Рисунок 1.1 - Основні складові частини ОС Android

1.3 Багатозадачність


Якщо торкнутися системних вимог у Android, то тут все виходить досить весело. Пам'ять цієї ОС швидко забивається додатками, і повідомлення про успішне подолання цього недоліку надходять тільки з оглядів нових гаджетів з двома гігабайтами оперативної пам'яті і чотирма ядрами мінімум.

Але, з іншого боку, ОС Android надзвичайно гнучка в цьому відношенні. Ви можете купити недорогий смартфон в Китаї за 50 доларів, а можете, не відмовляючи собі ні в чому, стати володарем Samsung Galaxy SIII  і в тому, і в іншому випадку смартфон буде працювати нормально, якщо ваші потреби будуть не перевищувати те, що смартфон пропонує. Простіше кажучи, Android легко адаптувати під різні конфігурації і різний набір програм, як штатного, так і стороннього.

1.4 Інтерфейс користувача


Інтерфейс Android не зазнавав кардинальних змін вже досить давно. У цьому він схожий з iOS: ікони і віджети на робочому столі плюс список програм. Корисним нововведенням оновленої Android 4.2 є підтримка декількох профілів, що дає можливість користуватися одним смартфоном кільком людям. Головне, що це відбувається без перезавантаження апарату. Інтерфейс ОС Android 4.2 представлено на рисунку 1.1.

 <#"668650.files/image004.gif">

Рисунок 1.3 - Множинні облікові записи


Рисунок 1.4 - Активні повідомлення

В Android 4.0, Google представив можливість створення панорам, а в Android 4.2 Jelly Bean у користувача з’явилася можливість робити “сферичні” фотографії, які потім можна відразу завантажити, наприклад, в Google Maps або Google+. При створенні цієї функції компанія застосувала технології роботи з камерою, аналогічні тим, що використовуються в Street View.

Рисунок 1.5 - Фото-сфера

Забудьте про Swype - в Android з’явилася власна можливість набирати тексти водячи пальцем по клавіатурі. Функція дуже схожа на Swype - ви так само водите пальцем по віртуальним кнопкам, піднімаючи його після кожного завершеного слова. Природно, що введення жестами не може бути точним на 100%, тому вам пропонуватимуться варіанти слів.

Рисунок 1.6 - Набір тексту жестами

У новій версії ОС з’явилася можливість бездротової потокової передачі відео з пристрою на телевізор високої чіткості, використовуючи протокол Miracast. Але, доведеться придбати спеціальну приставку, яка буде підключатися до телевізора. Очікується, що їх вартість складе близько 100 $.

Рисунок 1.7 - Підключення до ТВ без проводів

На Еран блокування з’явилася можливість встановити віджет - наприклад, для управління плеєром.

Додатковим джерелом даних для голосового помічника Google Now став сервіс Gmail. У Google Now покращена підтримка допомоги по авіаперельотах, бронюванню номерів в готелях або столика в ресторані, різних рекомендацій по фільмам чи музиці.

В Android 4.2 Jelly Bean Google інтегрував функцію під назвою Daydream - щось на зразок заставки. Під час режиму очікування або простою в док-станції смартфон може показувати фотографії з фотоальбомів, новини або робити щось інше.

Рисунок 1.8 - Віджети на екрані блокування

В Android 4.2 Jelly Bean є також інші поліпшення, такі як “pinch-to-zoom” в Gmail для більш зручного читання пошти, потрійний тап для збільшення домашнього екрану, масштабування двома пальцями, доданий відтворення вголос і жести навігації для слабозорих користувачів.

2. СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ


2.1 Ядро ОС Android 4.2


Як не дивно це звучить, але спочатку, Android Inc. - це стартап. Як і у всіх, в цій компанії стояло завдання максимально використовувати вже існуючі рішення. Тому в якості ядра цієї платформи був обраний Linux через його відкритість та наявність необхідної функціональності (рисунок 2.1).

Рисунок 2.1 - Ядро Linux (Android)

В Android ядро Linux управляє пам'яттю, процесами, а так само використовується в якості hardware abstraction layer (HAL). Наскільки відомо, в Linux драйвера або вбудовані в ядро, або розроблені у вигляді завантажувальних модулів ядра. Так як в Android завантаження модулів ядра за замовчуванням відключена, а якщо вбудовувати всі драйвера, те ядро ​​дуже сильно розростеться, тому було прийнято рішення створити проміжний шар (proxy) між ядром і драйверами, який і назвали HAL. Таким чином, HAL - це просто набір інтерфейсів, впровадження яких реалізовано в драйверах. З іншого боку в ядро ​​були додані деякі системи, які характерні тільки для Android-систем. На даний момент, вони поки не включені в основну гілку ядра Linux, тому просто завантажити ядро ​​Linux і замінити ним ядро ​​Android не вийде. Серед них слід виділити, Binder (забезпечує межпроцессное взаємодія IPC/RPC), Asynchronous SHared MEMory - Ashmem (драйвер розділення пам'яті), Wakelocks (механізм, який дозволяє запобігати затемнення екрана та/або відключення процесора), Low Memory Killer, Alarm, Logger і т.д.

Так як ядро керує всім обладнанням, а обладнання у всіх смартфонів різне, базове ядро Android допрацьовується виробником для кожного пристрою окремо.

Як і прошивки, ядра бувають стічними (заводськими) і альтернативними, створені незалежними розробниками.

Навіщо потрібні альтернативні ядра? Заводське ядро максимально оптимізується виробником для конкретного пристрою, але в ньому зазвичай заблоковані такі важливі функції ядра, як, наприклад, керування частотою процесора. І якщо нам знадобиться розігнати процесор свого смартфона, нам потрібно буде змінити ядро на альтернативне, в якому функція управління частотою процесора розблокована.

Крім того, альтернативні ядра, звичайно засновані на більш свіжих версіях Linux-ядер. Ось приблизний перелік можливостей, які нам дають альтернативні ядра:

-       Зміна частоти процесора в широких межах;

-       Розгін графічної підсистеми (GPU);

-       Зниження частоти і напруги живлення процесора, що дозволяє досягти більш тривалого часу роботи від батареї;

-       Більш свіжі та якісні драйвери, наприклад, що прискорюють роботу GPS або додають нові функції;

-       Широкі можливості по налаштування і конфігурації звуку і колірної гами екрану;

-       Підтримка альтернативних файлових систем (XFS, ReiserFS і інших).

Так як альтернативні ядра створюються незалежними виробниками, немає ніякої гарантії, що після встановлення альтернативного ядра наш смартфон працюватиме без збоїв. Тому перед прошивкою нового ядра бажано зробити повну резервну копію системи.

Крім Linux, в Android реалізовано ядро ​​Java (з набором відповідних інструментальних засобів розробника на базі популярної IDE Eclipse). Це помітно спрощує адаптацію існуючого ПЗ та розробку корпоративних інструментів там, де не потрібно витонченого програмування. Досить вивести кілька екранних форм і зберегти введені дані.

2.2 Утиліти ОС Android 4.2


Утиліта - сервісна програма <http://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0>, що допомагає керувати файлами, діагностувати й усувати проблеми, забезпечувати ефективну роботу системи. Утиліти - сервісні програми, що розширюють можливості ОС <http://uk.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0>.

Фактично, багато сервісних програм можливо знайти у магазині додатків під назвою Marketplace, який є невід'ємною частиною Windows Phone і єдиним способом встановлення програм на невзломаний телефон. Аналогом Marketplace, на ОС Android є Google Play (Android Market).

З того моменту як компанія Google оголосила про відкриття онлайн-магазину додатків Android Market, і до цього часу використовувати всі можливості сервісу можуть тільки жителі США <http://uk.wikipedia.org/wiki/%D0%A1%D0%A8%D0%90>, але незабаром, за словами представників Google, список країн, які можуть використовувати можливості Google Play в повну міру, сильно зросте.Market опинився в центрі скандалу після виявлення в каталозі магазина шкідливих додатків, які були видалені з магазину користувачів компанією Google. <http://uk.wikipedia.org/wiki/Google_Inc.> Компанія заявила, що вступить в контакт з партнерами для рішення про випуск термінового оновлення, що закриває вразливості, а також гарантувала те, що прийняла ряд заходів, що перешкоджають появі подібного шкідливого ПЗ в каталозі додатків.

2.3 Мережева підсистема ОС Android 4.2


Мережева підсистема Android забезпечує, крім механізму Intent, звичні мережеві бібліотеки Java, а також XML. Оскільки ОС Android не дозволяє процесам «зависати», віддалені виклики краще виконувати асинхронно в окремих потоках.

Ідеологія інтеграції між програмами, реалізована в Android, - виключно потужний і гнучкий засіб. У рамках проекту OpenIntents ведеться БД розробників, URL і Intent. Тут напрошується порівняння з конвеєрами UNIX-систем, де вихідні текстові дані від однієї програми передаються до іншої по ланцюжку до отримання бажаного результату. Але Android не обмежена текстовими даними, платформа дозволяє ефективно обробляти інформацію різних типів, у тому числі аудіо-і відеопотоки. Дані можна фільтрувати, обробляти, викликаючи вікна.

Цікава особливість платформи - дві графічні підсистеми на базі браузера і з використанням OpenGL. Розробникам не доведеться переучуватися на нову віконну середу, і процес розробки більше схожий на створення динамічних Web-сторінок. Хотілося б кращої інтеграції ресурсів форм і вихідних текстів, в ідеалі щось подібне середовища Delphi. Але це справа наживна, та й великих проблем не виникає, тим більше що при малих розмірах екрану більше зусиль витрачається не на кодування форм, а на розробку зручного інтерфейсу як такого.

Реалізована можливість розробки «демонів» - програм, що виконуються тільки у фоновому режимі. В Android вони теж розробляються на Java.

2.4 Система захисту ОС Android 4.2


Як вже було сказано в основі Android лежить Linux ядро. Як і у всіх Linux системах, в основі безпеки Android лежить access control. Тобто кожен ресурс (наприклад, файл) містить інформацію про те, хто створив цей файл - owner (власник) - і до якої основній групі (owner group) належить owner (власник). Кожен процес запускається від імені якогось user (користувача). У кожного користувача є основна група. Крім того він може бути членом інших груп. Таким чином, якщо до кожного ресурсу прикріпити інформацію (у форматі rwxrwxrwx) про те, хто може читати/писати/ виконувати ресурс (наприклад, файл), то можна контролювати доступ до цього файлу. Наприклад, файлу можна призначити дозвіл: що може робити з цим файлом owner (власник) цього файлу; що можуть робити користувачі, які входять до складу owner group; що можуть творити всі інші.

Але у Android є деякі відмінності. По-перше, спочатку Android - це операційна система для смартфонів, які, як відомо, відносяться до дуже особистих речей і які ми не любимо давати в чужі руки. Тобто вона була задумана як операційна система, у якої тільки один користувач. Тому було прийнято рішення використовувати різних Linux користувачів для забезпечення безпеки (для кожної програми - окремий користувач). По-друге, в Android деякі user (користувачі) та їх UID (ідентифікатори) були жорстко запрограмовані в систему, що викликає дуже багато нарікань людей пов'язаних з безпекою.

Процес запускається від імені того ж користувача (UID), що і процес, який запускає цей новий процес, тобто UID (calling_process) == UID (called_process). Перший процес, який запускається в Android - init - запускається від імені root (UID = 0). Таким чином, по-ідеї, всі процеси також повинні бути запущені від імені того ж користувача. Так воно, напевно, б і було. Але, по-перше, процеси, запущені від імені привілейованого користувача (а так само ті, хто володіє певними capabilities), можуть змінювати свій UID на менш привілейований. А по-друге, в Android при запуску демонів в init.rc скрипті так само можна вказати, з привілеями якого користувача і яких груп запускати даний процес.

Всі процеси, які будуть запущені через цих демонів, вже не матимуть root привілегії:

…console /system/bin/sh

class coreshelllog

…servicemanager /system/bin/servicemanagercoresystemsystemrestart zygoterestart mediarestart surfaceflingerrestart drm

…media /system/bin/mediaservermainmediaaudio camera inet net_bt net_bt_admin net_bw_acct drmrpc rt 4


2.5 Файлова система ОС Android 4.2


В ОС Android є кілька основних директорій і виглядають вони так:

system/ - системні файли

data/ - користувацькі програми і їх дані

cache/ - тимчасові дані (кеш)

mnt/ (розділ може носити назву storage) тут монтується користувацька пам’ять

sdcard/ - розділ, якщо є внутрішня пам’ять

sdcard1/ - карта пам’яті

Якщо у вас немає внутрішньої пам'яті то розділ sdcard буде називатися sdcard. У кожного розділу своє чітко задану кількість пам'яті, яке змінити не можна. Тобто якщо розділ System має 300 мб, то ні збільшити ні зменшити його не можна за рахунок розділу Data або Sdcard.

Коли оновлюється або встановлюється додаток на Android то він відображається у розділі Data. Навіть якщо цей додаток було вбудовано (якщо вбудовано значить знаходиться в System) він встановиться в розділ Data і не замінить додаток з System. Це означає що при оновленні вбудованої програми втрачається дорогоцінне місце для встановлення додатків. Це помилка розробників Google. Але вирішення цієї проблеми є.

Змінювати параметри пам’яті в розділі System не можна, як було сказано вище, але після того як ми отримаєм root-права, тоді можна встановити свою прошивку.

2.6 Поновлення програмного забезпечення

Кожна операційна система, подібно будь комп’ютерній програмі, з часом удосконалюється і стає краще. Це стосується як софта для ПК, так і додатків для мобільних пристроїв. Саме тому будь-яку «операційку» бажано оновлювати до нових версій. Дізнатися, до якої версії ви можете оновити свій пристрій, можна на офіційному сайті виробника або на сайті Андроїд Маркет. Коли найсвіжіше оновлення для вашого девайса визначено, можна приступати до його установки. Для початку давайте розглянемо варіанти, як оновити Андроїд безпосередньо зі смартфона або планшета. Перед тим як приступати до будь-якого втручання в життя вашого мобільного пристрою, бажано запам’ятати кілька простих правил. По-перше, перед початком процедури оновлення ПЗ необхідно витягти з девайса карту пам’яті. По-друге, рекомендується прочитати поради по установці програм і «перепрошивки» не тільки на аматорських сайтах, але і на сторінці виробника. І, по-третє, бажано створити резервну копію всіх наявних в пристрої даних, так як не виключений варіант, що вони можуть бути втрачені в разі невдалої «прошивки». А тепер, коли вся інформація з пристрою успішно збережена і додатково вивчені рекомендації по оновленню ПО, розміщені на офіційному сайті виробника, можна переходити до самого процесу «прошивки». Як оновити Андроїд, не підключаючи гаджет до комп’ютера? Для цього необхідно, щоб мобільний пристрій мало доступ до мережі інтернет (бажано високошвидкісний і надійний, так як відновлення доведеться викачувати «об’ємні»), а сім-карта та карта пам’яті були витягнуті. Після того як всі приготування виконані, заходимо в налаштування пристрою і вибираємо в меню пункт «Про систему». Далі слід відшукати рядок «Перевірка оновлень» і виконати цю дію. Тепер залишається тільки дочекатися, поки пристрій скачає останню версію Андроїд ОС. Після цього необхідно простежити за тим, щоб смартфон успішно виконав перезавантаження, і можна починати радіти найсвіжішої версії встановленого ПЗ.

Але як оновити Андроїд на телефоні, який не має доступу до інтернету (або цей доступ вкрай складно назвати надійним каналом для отримання файлів з мережі)? В даному випадку необхідно підключити мобільний пристрій до комп’ютера, який, у свою чергу, підключений до інтернету. Тепер залишається тільки знайти на офіційному сайті виробника девайса необхідне оновлення (зробити це простіше всього, вказавши на сайті точна назва моделі вашого мобільного), скачати його і встановити за допомогою рекомендованого на цьому ж сайті ПЗ. Варто відзначити, що чимало власників андроїд-пристроїв, як і раніше плутають оновлення програмного забезпечення свого гаджета з оновленням допоміжних додатків, без яких неможливо домогтися оптимальної роботи телефону або планшета. А про це в наш час необхідно знати не тільки «просунутим» користувачам, але і всім, хто хоче домогтися від свого пристрою оптимальної роботи.
Приміром, далеко не всі знають, як оновити Андроїд маркет - програму для скачування додатків і навіть самих «прошивок». А зробити це можна дуже просто. Достатньо зайти в сам додаток і виконати перевірку оновлень для нього. Після цього сама програма запропонує вам оптимальний варіант для скачування, а після завантаження автоматично встановить його. При цьому пристрій обов’язково має бути підключено до інтернету протягом всієї цієї нескладної процедури.

Тепер, коли ви знаєте, як оновити Андроїд на своєму улюбленому гаджеті, ви зможете обновити ПЗ до самої останньої версії і тим самим вдихнути в свій улюблений девайс нове життя.

3. ЗАСОБИ РОЗРОБКИ ДЛЯ ОПЕРАЦІЙНОЇ СИСТЕМИ


3.1 Засоби розробки для ОС Android 4.2


Програми для Android є програмами в нестандартному байт-коді для віртуальної машини Dalvik <http://uk.wikipedia.org/wiki/Dalvik>. Google пропонує для вільного завантаження інструментарій для розробки (Software Development Kit), який призначений для x86-машин під операційними системами Linux, Mac OS X (10.4.8 або вище), Windows XP, Windows Vista та Windows 7. Для розробки потрібен Java Development Kit 5 або новіший.

Розробку додатків для Android можна вести мовою Java (не нижче Java 1.5). Існує плагін для Eclipse <http://uk.wikipedia.org/wiki/Eclipse> - «Android Development Tools» (ADT), призначений для Eclipse версій 3.3-3.7. Для IntelliJ IDEA <http://uk.wikipedia.org/wiki/IntelliJ_IDEA> також існує плагін, який полегшує розробку Android-додатків <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA>. Для середовища розробки NetBeans <http://uk.wikipedia.org/wiki/NetBeans> розроблено плагін, який починаючи з версії Netbeans 7.0 перестав бути експериментальним, проте поки не є офіційним. Крім того існує Motodev Studio <http://uk.wikipedia.org/w/index.php?title=Motodev_Studio&action=edit&redlink=1> for Android, що являє собою комплексне середовище розробки, засноване на базі Eclipse і дозволяє працювати безпосередньо з Google SDK.

Крім того в 2009 році на додаток до ADT був опублікований Android Native Development Kit (NDK), пакет інструментаріїв і бібліотек дозволяє вести розробку додатків на мові С/С++. NDK рекомендується використовувати для розробки ділянок коду, критичних до швидкості [1].

Доступні бібліотеки:

-       Bionic <http://uk.wikipedia.org/w/index.php?title=Bionic_(%D0%91%D1%96%D0%B1%D0%BB%D1%96%D0%BE%D1%82%D0%B5%D0%BA%D0%B0)&action=edit&redlink=1> (Бібліотека стандартних функцій, несумісна з libc);

-       libc <http://uk.wikipedia.org/w/index.php?title=Libc&action=edit&redlink=1> (стандартна системна бібліотека мови Сі <http://uk.wikipedia.org/wiki/C_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)>);

-       мультимедійні бібліотеки (на базі PacketVideo OpenCORE; підтримують такі формати, як MPEG-4 <http://uk.wikipedia.org/wiki/MPEG-4>, MP3 <http://uk.wikipedia.org/wiki/MP3>, AAC <http://uk.wikipedia.org/wiki/AAC>, AMR <http://uk.wikipedia.org/wiki/AMR_(%D0%BA%D0%BE%D0%B4%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D0%B7%D0%B2%D1%83%D0%BA%D1%83)>, JPEG <http://uk.wikipedia.org/wiki/JPEG> та PNG <http://uk.wikipedia.org/wiki/PNG>);

-       OpenGL <http://uk.wikipedia.org/wiki/OpenGL> ES 1.0 <http://uk.wikipedia.org/wiki/OpenGL_ES> (рушій тривимірної графіки <http://uk.wikipedia.org/wiki/3D_%D0%B3%D1%80%D0%B0%D1%84%D1%96%D0%BA%D0%B0>);

-       Surface Manager (забезпечує для додатків <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA> доступ до 2D <http://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%27%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0_%D0%B3%D1%80%D0%B0%D1%84%D1%96%D0%BA%D0%B0>/3D <http://uk.wikipedia.org/wiki/3D_%D0%B3%D1%80%D0%B0%D1%84%D1%96%D0%BA%D0%B0>);

-       WebKit <http://uk.wikipedia.org/wiki/WebKit> (готовий рушій для Web-браузера; обробляє HTML <http://uk.wikipedia.org/wiki/HTML>, JavaScript <http://uk.wikipedia.org/wiki/JavaScript>);

-       FreeType <http://uk.wikipedia.org/w/index.php?title=FreeType&action=edit&redlink=1> (рушій обробки шрифтів);

-       SQLite <http://uk.wikipedia.org/wiki/SQLite> (проста система керування базами даних <http://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85>, доступна для всіх застосувань);

-       SSL <http://uk.wikipedia.org/wiki/SSL> (протокол, що забезпечує безпечну передачу даних по мережі).

В порівнянні із звичайними додатками <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA> Linux <http://uk.wikipedia.org/wiki/Linux>, додатки <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA> Android підкоряються додатковим правилам:

-       Content Providers - обмін даними між додатками <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA>;

-       Resource Manager - доступ до таких ресурсів, як файли XML <http://uk.wikipedia.org/wiki/XML>, PNG <http://uk.wikipedia.org/wiki/PNG>, JPEG <http://uk.wikipedia.org/wiki/JPEG>;

-       Notification Manager - доступ до рядка стану;

-       Activity Manager - управління активними додатками <http://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA>.

Для Android був розроблений формат інсталяційних пакетів .apk <http://uk.wikipedia.org/w/index.php?title=.apk&action=edit&redlink=1>.

3.2 Встановлення Repo


Repo є інструментом, який полегшує роботу з Git в контексті Android.

Щоб встановити repo:

1.      Переконаймося, що у нас є BIN/директорія у нашому каталозі, і що вона включена в наш шлях:

$ mkdir ~/bin$ PATH=~/bin:$PATH

.        Завантажити інструмент repo і переконатися, що він є виконуваним:

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo

Для версії 1.17, SHA-1 Контрольна сума repo ddd79b6d5a7807e911b524cb223bc3544b661c28

Для версії 1.19, SHA-1 Контрольна сума repo 92cbad8c880f697b58ed83e348d06619f8098e6c

3.3 Ініціалізація клієнта Repo


Після встановлення repo, потрібно налаштувати клієнт для доступу до репозиторію Android:

.        Створити порожній каталог для зберігання наших робочих файлів. Дамо йому будь-яке ім'я:

$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY

.        Виконати repo init, щоб збити останню версію repo з усіма його найпоширенішими помилками. Необхідно вказати посилання для маніфесту, який вказує, які репозиторії включені у вихідній код Android, що будуть розміщені у нашому робочому каталозі.

$ repo init -u https://android.googlesource.com/platform/manifest

Щоб витягти гілку, крім «master», вкажемо його з -b:

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

3.      У відповідь на запит, налаштувати repo з своїм справжнім ім'ям та адресою електронної пошти. Для використання Gerrit code-review інструментів, нам потрібна адреса електронної пошти, пов'язана з використанням зареєстрованого облікового запису Google. Переконатися, що це робоча адреса, за якою ми можемо отримувати повідомлення. Ім'я, яке ми надамо, буде відображатися в атрибуції для нашого коду.

Успішність ініціалізації завершиться з повідомленням про те, що repo ініціалізується у нашому робочому каталозі. Наш клієнт каталогу тепер повинен мати .repo каталог, де файли, такі як маніфест, будуть збережені.

3.4 Завантаження дерева Android


Щоб занести дерево Android в робочий каталог з репозиторію, як зазначено в маніфесті за замовчуванням, запустіть:

$ repo sync

Файли Android знаходитимуться в робочому каталозі під їх іменами. Синхронізація займе годину або більше.

3.5 Використання аутентифікації


Типово доступ до вихідного коду Android є анонімним. Для захисту серверів від надмірного завантаження, кожна IP-адреса, пов'язана з квотою.

При спільному використанні IP-адреси з іншими користувачами, квоти можуть викликатися для регулярного використання (наприклад, синхронізація клієнтів з тої ж IP-адреси протягом короткого періоду).

У цьому випадку можна використовувати аутентифікацію доступу, яка потім використовує окрему квоту для кожного користувача, незалежно від IP-адреси.

Першим кроком є створення паролю і збереження його в ~/.netrc відповідно до інструкцій на цій сторінці.

Другий крок полягає в авторизованому доступі, за допомогою наступного посилання: https://android.googlesource.com/a/platform/manifest.

Ми можемо перетворити існуючий клієнт на використання обов'язкової аутентифікації за допомогою наступної команди:

$ repo init -u <https://android.googlesource.com/a/platform/manifest>

3.6 Усунення проблем з мережею


При завантаженні з під проксі (який є спільним в деяких корпоративних середовищах), необхідно вказати проксі, який потім використовується repo:

$ export _PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>

$ export _PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>

Рідко, але Linux клієнти відчувають проблеми з підключенням, коли завантаження файлів зупиняється на його середині (як правило, під час «прийому файлів»). Налаштуванням параметрів протокольного стеку TCP/IP, а також використанням непаралельних команд можливо поліпшити ситуацію з підключенням. Нам потрібен кореневий доступ для зміни налаштування TCP:

$ sudo sysctl -w net.ipv4.tcp_window_scaling=0 $ repo sync -j1

3.7 Використання локального дзеркала


При використанні декількох клієнтів, особливо в ситуації, коли пропускної здатності не вистачає, то краще створити локальне дзеркало усього вмісту сервера, для синхронізації клієнтів з того ж дзеркала (яке не вимагає мережевого доступу). Завантаження повного дзеркала менше, ніж завантаження двох клієнтів, що містить додаткову інформацію.

Ці інструкції припускають, що дзеркало створюється в /usr/local/aosp/mirror. Першим кроком є створення і синхронізація самого дзеркала, яке використовує близько 13Гб пропускної здатності мережі і ж подібне обсягу дискового простору.

Прапорець дзеркала, може бути заданий тільки при створенні нового клієнта:

$ mkdir -p /usr/local/aosp/mirror

$ cd /usr/local/aosp/mirror

$ repo init -u https://android.googlesource.com/mirror/manifest --mirror

$ repo sync

Як тільки дзеркало синхронізується, нові клієнти можуть бути створені від нього.

Важливо вказати шлях повністю:

$ mkdir -p /usr/local/aosp/master

$ cd /usr/local/aosp/master

$ repo init -u /usr/local/aosp/mirror/platform/manifest.git

$ repo sync

Нарешті, для синхронізації клієнта на сервері, саме дзеркало повинно бути синхронізоване на сервері, тоді і клієнт синхронізується з дзеркалом:

$ cd /usr/local/aosp/mirror

$ repo sync

$ cd /usr/local/aosp/master

$ repo sync

Це дзеркало можна зберігати на сервері локальної мережі і до нього буде доступ через NFS, SSH або Git. Також дзеркало можна зберігати на знімному диску.

3.8 Перевірка Git тегів


Потрібно завантажити наступний відкритий ключ у нашій базі даних ключів GnuPG. Ключ використовується для підпису анотованих тегів, які представляють релізи.

$ gpg --import

Скопіюймо та вставимо ключ (і) нижче, а потім введемо EOF (Ctrl-D) для завершення введення та обробки ключів.

----BEGIN PGP PUBLIC KEY BLOCK-----: GnuPG v1.4.2.2 (GNU/Linux)4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7

tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD

u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z

wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq

jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4

MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9

b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv

aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k

cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX

gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI

t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl

QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up

hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk

C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX

LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+

OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M

pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s

KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb

N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA

vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo

G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ

hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l

EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D

----END PGP PUBLIC KEY BLOCK-----

Після генерування ключів, ми можемо перевірити будь-який тег командою:

$ git tag -v TAG_NAME

3.9 Емулятор Android

Багато шанувальників платформи Android з часом починають замислюватися про те, щоб самим створювати додатки для неї. Благо, Google, розробник цієї мобільної операційної системи, надає зручні інструменти для цього. І в число цих інструментів входить емулятор Android - утиліта, яка відтворює роботу мобільного телефону на базі цієї платформи, переносячи її на персональний комп’ютер.

Іншими словами, за допомогою емулятора ми можемо користуватися практично всіма можливостями Android, навіть не маючи мобільного девайса. Так, комп’ютер не вміє телефонувати, писати SMS, у нього немає гіроскопа, камери, найчастіше відсутні Bluetooth і навіть Wi-Fi-з’єднання, але емулятор успішно «підіграє» все це. Наприклад, при спробі зробити фото ця програма повертає забавний знімок, на якому зображений герой серіалу.

Навіщо потрібен іграшковий Android? Все дуже просто - для розробки програм для цієї системи. А точніше - для їх налагодження. Якщо розробник пише власний додаток під Android, то йому постійно потрібно стежити за що з’являються помилками і бачити його роботу. Те чи інше рішення, що полягає в установці програм на даний пристрій, не завжди зручно. Справа в тому, що в області Android дуже актуально поняття «фрагментація», що означає наявність величезної кількості форм-факторів існуючих пристроїв. Це накладає обмеження на налагодження додатків. Так, одна програма може добре працювати на одному дозволі екрану і спотворювати свій інтерфейс - на іншому.

Природно, програміст не може тримати під рукою відразу всі можливі пристрої, на яких буде працювати його додаток (хоча деякі намагаються - в одного корейського розробника скупчилося 300 мобільних телефонів, на яких він відлагоджує свій вихідний код). В емуляторі цієї проблеми немає - на одному комп’ютері можна створити безліч віртуальних пристроїв з різними дозволами екрану і версіями операційної системи, а також встановити їх обсяги пам’яті і наявність датчиків. Це робиться через зручний інтерфейс і для отримання кожного нового пристрою досить виставити іншу комбінацію галочок.

Так що Android емулятор існує, інакше програмістам під цю систему було б складно оцінювати роботу своїх додатків на різних гаджетах. «Класичний» емулятор входить до складу засобів розробки Android SDK, який можна безкоштовно завантажити на офіційному сайті Android. У той же час умільці зробили альтернативний емулятор під назвою Android-x68, поява якого обгрунтовано низькою продуктивністю «класичного» емулятора. Зазвичай рекомендується тримати під рукою обидва продукти - входить до SDK емулятор надає більший функціонал, зате Android-x86 відрізняється високою швидкодією.

Існують і інші емулятори цієї мобільної системи, навіть у вигляді web-сервісів. Однак вони не так часто використовуються програмістами. Тим же, хто програмуванням не займається, емулятор навряд чи стане в нагоді. Хіба що він допоможе познайомитися з Android перед покупкою пристрою на базі цієї системи.

дерево android інтерфейс repo

ВИСНОВКИ


Основною метою даної роботи було дослідження операційної системи Android 4.2 Jelly Bean. Протягом виконання роботи було встановлено що дана операційна система :

·        Створена на базі ядра Linux;

·        Широко застосовується;

·        Включає набір корисних утиліт;

·        Добре оптимізована;

·        Енергозберігаюча;

·        Відкрита для розробки додатків;

·        Включає набір компонентів для розробки нових утиліт.

Система є надійна а також може взаємодіяти із смартфонами нового покоління та усіма його апаратними компонентами і пристроями. Містить дуже простий і зручний користувацький інтерфейс. Оптимізована під швидкий доступ до інтернету за допомогою бездротового WiFi адаптера. Дуже важливим в даній ОС, це те що вона відкрита для написання нових компонентів користувачем. Отже результатом роботи стали вище описані ключові особливості даної операційної системи.

 

ПЕРЕЛІК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ


1.      Випущені вихідні коди Android [Електронний ресурс]. - Режим доступу : URL : <http://habrahabr.ru/post/132603/>

.        Android 4.2 [Електронний ресурс]. - Режим доступу : URL : <http://zoom.cnews.ru/publication/printed/40400>

.        Основи безпеки операційної системи Android [Електронний ресурс]. - Режим доступу : URL : <http://habrahabr.ru/post/176131/>

.        Google Android: ази розробки [Електронний ресурс]. - Режим доступу : URL : <http://www.pcmag.ru/solutions/sub_detail.php?ID=14240>

Похожие работы на - Дослідження операційної системи Android 4.2 Jelly Bean

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!