Что такое операционная система Android. Как устроен Android

В этой серии статей я расскажу о внутреннем устройстве Android  -  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.


Статьи серии:

  • Как работает Android, часть 1

Немного фактов

Android  -  самая популярная операционная система и платформа для приложений, насчитывающая больше двух миллиардов активных пользователей. На ней работают совершенно разные устройства, от «интернета вещей» и умных часов до телевизоров, ноутбуков и автомобилей, но чаще всего Android используют на смартфонах и планшетах.


Android  -  свободный и открытый проект. Большинство исходного кода (который можно найти на ) распространяется под свободной лицензией Apache 2.0.


Компания Android Inc. была основана в 2003 году и в 2005 году куплена Google. Публичная бета Android вышла в 2007 году, а первая стабильная версия -  в 2008, с тех пор мажорные релизы выходят примерно раз в год. Последняя на момент написания стабильная версия Android  -  7.1.2 Nougat.


Android is Linux

По поводу такой формулировки было много споров, так что сразу поясню, что именно я имею в виду под этой фразой: Android основан на ядре Linux, но значительно отличается от большинства других Linux-систем.


Среди исходной команды разработчиков Android был Robert Love, один из самых известных разработчиков ядра Linux, да и сейчас компания Google остаётся одним из самых активных контрибьюторов в ядро, поэтому неудивительно, что Android построен на основе Linux.


Как и в других Linux-системах, ядро Linux обеспечивает такие низкоуровневые вещи, как управление памятью, защиту данных, поддержку мультипроцессности и многопоточности. Но  -  за несколькими исключениями  -  вы не найдёте в Android других привычных компонентов GNU/Linux-систем: здесь нет ничего от проекта GNU, не используется X.Org, ни даже systemd. Все эти компоненты заменены аналогами, более приспособленными для использования в условиях ограниченной памяти, низкой скорости процессора и минимального потребления энергии  - таким образом, Android больше похож на встраиваемую (embedded) Linux-систему, чем на GNU/Linux.


Другая причина того, что в Android не используется софт от GNU  -  известная политика «no GPL in userspace»:


We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL 2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.

Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don’t believe it’s possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don’t believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.

Само ядро Linux в Android тоже немного модифицировано: было добавлено несколько небольших компонентов, в том числе ashmem (anonymous shared memory), Binder driver (часть большого и важного фреймворка Binder, о котором я расскажу ниже), wakelocks (управление спящим режимом) и low memory killer. Исходно они представляли собой патчи к ядру, но их код был довольно быстро добавлен назад в upstream-ядро. Тем не менее, вы не найдёте их в «обычном линуксе»: большинство других дистрибутивов отключают эти компоненты при сборке.


В качестве libc (стандартной библиотеки языка C) в Android используется не GNU C library (glibc), а собственная минималистичная реализация под названием , оптимизированная для встраиваемых (embedded) систем  -  она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.


В Android есть оболочка командной строки (shell) и множество стандартных для Unix-подобных систем команд/программ. Во встраиваемых системах для этого обычно используется пакет Busybox , реализующий функциональность многих команд в одном исполняемом файле; в Android используется его аналог под названием Toybox . Как и в «обычных» дистрибутивах Linux (и в отличие от встраиваемых систем), основным способом взаимодействия с системой является графический интерфейс, а не командная строка. Тем не менее, «добраться» до командной строки очень просто  -  достаточно запустить приложение-эмулятор терминала. По умолчанию он обычно не установлен, но его легко, например, скачать из Play Store (Terminal Emulator for Android , Material Terminal , Termux). Во многих «продвинутых» дистрибутивах Android  -  таких, как LineageOS (бывший CyanogenMod)  -  эмулятор терминала предустановлен.



Второй вариант  -  подключиться к Android-устройству с компьютера через Android Debug Bridge (adb). Это очень похоже на подключение через SSH:


user@desktop-linux$ adb shell android$ uname Linux

Из других знакомых компонентов в Android используются библиотека FreeType (для отображения текста), графические API OpenGL ES , EGL и Vulkan , а также легковесная СУБД SQLite .


Кроме того, раньше для реализации WebView использовался браузерный движок WebKit , но начиная с версии 7.0 вместо этого используется установленное приложение Chrome (или другое; список приложений, которым разрешено выступать в качестве WebView provider, конфигурируется на этапе компиляции системы). Внутри себя Chrome тоже использует основанный на WebKit движок Blink , но в отличие от системной библиотеки, Chrome обновляется через Play Store  -  таким образом, все приложения, использующие WebView, автоматически получают последние улучшения и исправления уязвимостей.


It’s all about apps

Как легко заметить, использование Android принципиально отличается от использования «обычного Linux» -  вам не нужно открывать и закрывать приложения, вы просто переключаетесь между ними, как будто все приложения запущены всегда. Действительно, одна из уникальных особенностей Android - в том, что приложения не контролируют напрямую процесс, в котором они запущены. Давайте поговорим об этом подробнее.


Основная единица в Unix-подобных системах  -  процесс. И низкоуровневые системные сервисы, и отдельные команды в shell’е, и графические приложения  -  это процессы. В большинстве случаев процесс представляет собой чёрный ящик для остальной системы  -  другие компоненты системы не знают и не заботятся о его состоянии. Процесс начинает выполняться с вызова функции main() (на самом деле _start), и дальше реализует какую-то свою логику, взаимодействуя с остальной системой через системные вызовы и простейшее межпроцессное общение (IPC).


Поскольку Android тоже Unix-подобен, всё это верно и для него, но в то время как низкоуровневые части  -  на уровне Unix  -  оперируют понятием процесса, на более высоком уровне  -  уровне Android Framework  -  основной единицей является приложение . Приложение  -  не чёрный ящик: оно состоит из отдельных компонентов, хорошо известных остальной системе.


У приложений Android нет функции main() , нет одной точки входа. Вообще, Android максимально абстрагирует понятие приложение запущено как от пользователя, так и от разработчика. Конечно, процесс приложения нужно запускать и останавливать, но Android делает это автоматически (подробнее я расскажу об этом в следующих статьях). Разработчику предлагается реализовать несколько отдельных компонентов, каждый из которых обладает своим собственным жизненным циклом.


In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them… so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn’t running.

Для реализации такой системы нужно, чтобы приложения имели возможность общатся друг с другом и с системными сервисами  -  другими словами, нужен очень продвинутый и быстрый механизм IPC.


Этот механизм  -  Binder.

Binder

Binder  -  это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.


Разработка Binder началась в Be Inc. (для BeOS), затем он был портирован на Linux и открыт. Основной разработчик Binder, Dianne Hackborn, была и остаётся одним из основных разработчиков Android. За время разработки Android Binder был полностью переписан.


Binder работает не поверх System V IPC (которое даже не поддерживается в bionic), а использует свой небольшой модуль ядра, взаимодействие с которым из userspace происходит через системные вызовы (в основном ioctl) на «виртуальном устройстве» /dev/binder . Со стороны userspace низкоуровневая работа с Binder, в том числе взаимодействие с /dev/binder и marshalling/unmarshalling данных, реализована в библиотеке .


Низкоуровневые части Binder оперируют в терминах объектов, которые могут пересылаться между процессами. При этом используется подсчёт ссылок (reference-counting) для автоматического освобождения неиспользуемых общих ресурсов и уведомление о завершении удалённого процесса (link-to-death) для освобождения ресурсов внутри процесса.


Высокоуровневые части Binder работают в терминах интерфейсов, сервисов и прокси-объектов. Описание интерфейса, предоставляемого программой другим программам, записывается на специальном языке AIDL (Android Interface Definition Language), внешне очень похожем на объявление интерфейсов в Java. По этому описанию автоматически генерируется настоящий Java-интерфейс, который потом может использоваться и клиентами, и самим сервисом. Кроме того, по.aidl -файлу автоматически генерируются два специальных класса: Proxy (для использования со стороны клиента) и Stub (со стороны сервиса), реализующие этот интерфейс.


Для Java-кода в процессе-клиенте прокси-объект выглядит как обычный Java-объект, который реализует наш интерфейс, и этот код может просто вызывать его методы. При этом сгенерированная реализация прокси-объекта автоматически сериализует переданные аргументы, общается с процессом-сервисом через libbinder, десериализует переданный назад результат вызова и возвращает его из Java-метода.

Здравствуйте друзья, я начинаю развивать рубрику, связанную со смартфонами, теперь уже полноценно. Теперь на сайте вы найдете кучу интересных статей про смартфоны на базе Android. Я максимально подробно построюсь донести до пользователей о новинках смартфонов, то есть будет много новостей. Упор, конечно, буду делать на создание материалов по работе с ОС. Так сказать, инструкция от А до Я. Пока что начну с самого простого, и напишу статейку о том, что такое это такое и какие у него достоинства и недостатки. Теперь переходим у сути.

Что такое ОС Android

Android – это операционная система на базе ядра Linux, которую выкупила в 2005 году компания Google. В 2008 году вышла первая версия операционной системы. Данная ОС предназначена для смартфонов, планшетов и многих других устройств. На данный момент её встраивают в часы, различные навигаторы, приставки и проигрыватели.

Сейчас создаётся огромное количество смартфонов и прочих устройств с данной системой. Она завоевала жуткую популярность, поэтому конкурентов у неё почти нет, разве что iOS.

Я думаю, не стоит перечислять известные бренды сегодняшних телефонов, которые растут, как на дрожжах. Так вот, все они используют Андроид. Если говорить о чистой системе, то можно сказать, что она очень шустрая и производительная. Многие производители, беря за основу эту ОС делают свою оболочку с дополнительными функциями, возможностями и оформлением. У кого-то это получается лучше, и системка летает, а в каких-то устройствах не очень. С помощь операционки у вас есть возможность управлять такими функциями, как Wi-Fi, Bluetooth, NFC, GPS, создавать точки доступа Wi-Fi, то есть делать из своего телефона модем и многое другое. В современные смартфоны встраивают датчики отпечатав пальцев и сканирования радужной оболочки глаза, что позволяет многократно улучшить защиту – всем этим можно управлять с помощью Android. Естественно в Apple со своим iOS стараются не отставать.

Плюсы и минусы

Давайте рассмотрим достоинства и недостатки:

  • Так как она разработана на ядре Linux с открытым исходным кодом, то и мобильная система тоже имеет открытый исходный код, что позволяет создавать для этой системы всё, что душе угодно.
  • Чистая ОС очень оптимизирована не требовательна к устройствам. Может работать на самом слабом телефоне, который сейчас есть, хотя это уже редкость.
  • Возможность подстроить систему под себя.
  • Огромное количество дополнений и приложений, которые многократно расширяют возможности ОС.
  • Быстрота работы (не во всех случаях).
  • Системка доступна для следующих аппаратных платформ: ARM, x86, MIPS.

Это основные положительные характеристики, которые я ля себя отметил. Может быть есть еще что-то. Помимо плюсов, есть еще и минусы :

  • Операционка с открытым кодом даёт преимущество производителям смартфонов и планшетов создавать оболочки, не всегда максимально оптимизированные и работоспособные. Помимо этого, обновление оболочки может прийти намного позже, чем выйдет новейшая версия официальной системы.
  • Если системка плохо оптимизирована, то есть вероятность сильного расхода энергии. А атомность сейчас очень ценится. Но это зависит скорее от производителей устройств.
  • Из-за популярности хакеры и прочие нехорошие люди пишут для ОС вирусы и ищут уязвимости. Конечно, определённая защита у это ОС, не как у Windows. Поэтому недостаток незначительный.
  • Были замечены случаи, когда у пользователей по всему миру в общем случае было украдено несколько миллионов долларов. Делалось это посредством отправки СМС без ведома пользователя.


Помимо чистой системы от Google есть ряд энтузиастов, занимающихся разработкой своих прошивок , которые имеют свой собственный функционал и возможности. Вы увидите совершенно другое оформление, бывает, что прошивка другого производителя будет лучше работать, чем чистый Андроид.

На данный момент существуют такие компании по созданию прошивок для смартфонов и прочих устройств: CyanogenMod, которая теперь LineageOS, AOKP, MIUI, Paranoid Android, AOSP, Replicant и прочие.

Разработчики-энтузиасты стараются выпускать вовремя версии прошивки, совместно с выходом чистой ОС. Но иногда прошивать телефон и не нужно, так как производители могли об этом позаботиться.

Приложения и Play Market

Всем известно, что каждый день в магазин приложений GooglePlay Market выкладываются сотни программ и игр. Вы можете найти вообще, что душе угодно, это различные аудио и видеоплееры, обои на рабочий стол, файловые менеджеры, которых там, наверное, тысячи, куча ПО для общения с людьми – социальные сети, мессенджеры и другие. Также вы можете скачивать оттуда фильмы, книги и музыку. Конечно, контент там есть как платный, так и бесплатный.

Немножечко теории. Код приложения для Андроида пишется для, так называемой, виртуальной машины Dalvic. Приложения имеют формат .apk , это единственный формат. Сами приложения до недавнего времени можно было писать на языке Java, а с 2009 года Google добавили специальный пакет возможностей, позволяющий создавать программное обеспечение на С и С++. Также, существует множество сред разработки, типа Embarcadero RAD Studio.


Что касается самого магазина приложений, то открыли его в 2008 году. Договорённость была такова, что разработчики ПО отдают 30% прибыли компании Google. По меркам 2017 года в базе Play Market насчитывается около больше 2.8 миллионов приложений.

Кончено, бывало недобросовестные пользователи выкладывали приложения с вредоносным кодом, из-за чего примерно в 2011 возник скандал, но проблемы быстро замяли и уязвимости закрыли.

Кто бы что не говорил, но прямым конкретном Play Market является App Store – магазин приложений для устройств iPhone, iPad, iPod и других. Программного обеспечения у них меньше чем в Play Market. По доходу разработчиков тоже самое, что и у Google. Вы создаете платное приложение, за которое отдадите 30% прибыли.

Что внутри Android

А теперь практически предпоследний пунктик, в котором я хочу рассказать о внутренних компонентах системы. Те, кто пользуется этой системой должны хоть немного в ней разбираться. И сравним её с Windows.

Итак, Linux от Windows отличается тем, что у второй информация разложена по дискам и папочкам, конечно, в Linux также, но отображается это всё по-разному. В линуксоидных системах древовидная структура.

Также различия есть и в регистрах. Если вы создадите несколько папок с одинаковыми названиями, то на Windows отличия не будет, а вот в Linux это будут совершенно разные папки. К файлам это тоже относится. Вот эти названия будут различны в Linux – Papka, papka, PAPKA.

Всегда кэш для системы и какого-то приложения будет сохраняться в специальный раздел – cache .

Наверняка в файловом менеджере все видели папку data . Этот каталог имеет другие папки, относящиеся к установочным файлам и каталогам от приложений.

Файлы конфигурации и библиотеки ПО можно найти в папке app-lib .

Чтобы приложения работали их пишут на языке Java для специальной виртуальной машины Dalvik. Поэтому вы можете встретить каталог dalvic-cache . Иногда его нужно чистить, например, перед перепрошивкой телефона. Делается это с помощью рут-прав или из , но обо всем этом я обязательно расскажу в будущих статьях.

Обязательно вы увидите в файловом менеджере каталог system . Из названия ясно, что там хранятся системные настройки, изменение которых может попортить вам систему.

В каталоге etc вы найдете файлы, позволяющие нормально запуститься системе.

Это еще не все папки, которые есть в Андроид системе. Понадобится несколько дополнительных статей, чтобы всё это разобрать.

Дополнительные особенности

Многие знают, что каждая модификация системы имеет ключевое название, обычно, какого-то десерта. Например, Cupcake, что значит кекс. Одна из популярных версий 4.1-4.3 имеет название Jelly Bean (Желейные бобы). А вот версия 4.4 названа честь известного шоколадного батончика KitKat . Следующая модификация 5.0 и 5.1 имеет название Lollipop – леденец. Шестой вариант – Marshmallow и, наконец, последняя на данный момент разновидность 7.0-7.1.2 получила код Nougat .

Уже совсем чуть-чуть осталось до выхода версии 8 или как его называют Android O. Бета-версия операционки уже установлена на некоторых флагманах и работает стабильно. Полностью ОС выйдет в конце 2017 года. И да, ключевое слово скорее всего будет – Oreo . Ниже вы увидите видео по презентации восьмой версии.

Что же ребята, я закончил статью, теперь вы знаете, что такое Андроид, где он используется, его фишки. В будущих статьях я буду рассказывать практически всё, что связанной в данной операционной системой. Ну а вам я желаю удачи!

Каждый смартфон состоит из множества сложных компонентов и вы не всегда будете думать о них перед выбором модели аппарата. Но, тем не менее, важно знать какие аппаратные средства помогают вашему смартфону функционировать.

В этой статье мы разберем основные части того, что стало одним из самых важных электронных устройств на рынке. Рассмотрим из чего состоит смартфон и для чего нужен тот или иной компонент. Сейчас существует множество различных моделей смартфонов, разных конструкций, с разными характеристиками, временем автономной работы и так далее. Но если вы разбираетесь в аппаратной начинке смартфона, то выбрать нужную модель будет намного проще.

1. Дисплей

Один из самых очевидных компонентов смартфона - это его экран. Все что вы видите на экране обрабатывается и контролируется внутренними компонентами. Сейчас существуют две технологии изготовления дисплеев:

Жидкокристаллический дисплей использует подсветку для получения изображения. Белый свет проходит сквозь фильтры и благодаря возможности управления свойствами кристаллов вы можете видеть разные цвета. Свет не создается самим экраном, он создается источником света за ним.

Светодиодный экран работает по-другому. Каждый пиксель, который вы видите на экране - это отдельный светодиод. Здесь сам экран создает яркие и красочные цвета. Преимущество Super AMOLED по сравнению с IPS в том, что когда пиксель выключен вы будете видеть черный цвет, он не использует батарею. Поэтому смартфоны с AMOLED более эффективны для автономной работы. Но экраны AMOLED дороже чем IPS, поэтому смартфон с таким дисплеем будет стоить значительно дороже.

2. Аккумулятор

В смартфонах обычно используются литий-ионные аккумуляторы, они могут быть съемными или не съемными. Благодаря этой технологии вам не понадобиться калибровка или тестирование аккумулятора, как при использовании батарей на основе никеля. Тем не менее у этих аккумуляторов есть множество своих проблем.

3. System-on-a-Chip (SoC)

SoC или материнская плата с процессором - это самый важный компонент вашего смартфона. Некоторые пользователи могут думать, что это процессор устройства, но это нечто большее. SoC включает в себя не только процессор, но и графический процессор, LTE-модем, контроллер экрана, беспроводные адаптеры и другие блоки кремния, которые заставляют телефон работать.

Существуют смартфоны, использующие SoC от Qualcomm, MediaTek, Samsung, собственные чипы компании Krirn, Apple, но все они используют одну и ту же архитектуру - ARM. ARM не только производит процессоры, но и лицензирует их архитектуру для других компаний, поэтому все могут использовать одну технологию для создания современных и мощных SoC.

Некоторые компании выпускают свои архитектурные линейки, которые совместимы с ARM и могут использоваться в смартфонах. Примером могут служить наборы микросхем Apple, работающие на процессорах Cyclone или процессоры Qualcomm Kryo. SoC - это основные компоненты из чего состоит смартфон.

4. Внутренняя и оперативная память

Ни один смартфон не сможет работать без оперативной памяти и системного хранилища. Большинство устройств используют оперативную память LPDDR3 или LPDDR4, а некоторые высококлассные модели поставляются с LPDDR4X. Сочетание LP означает Low Power, напряжение питания этих микросхем снижено, а это делает их более эффективными в плане потребления энергии.

LPDDR4 более эффективен чем LPDDR3, а LPDDR4X эффективнее и экономичнее обоих. Также есть еще более аффективная память - LPDDR5.

Что касается внутреннего хранилища, то здесь применяется флеш память от 32 до 256 Гб. Требования пользователей постоянно растут и в соответствии с ними будут расти объемы. Когда вы включите телефон, то увидите что размер накопителя меньше чем заявлен. Например, сказано что накопитель на 64 Гб, а для записи доступно 53-55 Гб. Эта память занята операционной системой и приложениями.

5. Модемы

Поскольку смартфоны - это все еще телефоны, им нужны коммуникационные компоненты для приема и совершения звонков, отправки текстовых сообщений и связи с сетью интернет. Именно для этого используются модемы. У каждого производителя SoC есть свой бренд модемов, это Qualcomm, Samsung, Huawei и другие.

Каждый из производителей пытается выпустить самый быстрый LTE-чип. На данный момент самый быстрый 9-LTE чип, но его нет смысла брать, если ваша сотовая сеть не поддерживает такую скорость.

6. Камера

У всех смартфонов есть фронтальная и передняя камеры. Камеры состоят из трех основных частей:

  • Сенсор - обнаруживает свет;
  • Линза - концентрирует изображение;
  • Процессор изображений .

Количество мегапикселей камеры смартфона по-прежнему остаются очень важным критерием, но теперь это имеет намного меньшее значение. Сейчас основным ограничивающим фактором становится сенсор камеры, а также его чувствительность когда через него проходит свет.

Сенсор может вести себя по-разному в каждом смартфоне, поэтому фото или видео будет иметь разный контраст, оттенки, насыщенность по сравнению с другими смартфонами. Поскольку смартфоны имеют небольшой размер сенсора, они, как правило, плохо работают в условиях слабого освещения.

7. Датчики

В большинство современных смартфонов встроено пять основных датчиков которые позволят использовать смартфон более удобно. Вот они:

  • Акселерометр - используется приложениями для определения ориентации устройства и его движений. Например, позволяет использовать встряхивание смартфона для переключения музыки;
  • Гироскоп - работает с акселерометром, чтобы обнаружить вращения вашего телефона. Полезно для игр в гонки;
  • Цифровой компас - помогает найти Север для нормальной ориентации на картах;
  • Датчик освещенности - этот датчик позволяет автоматически устанавливать яркость экрана в зависимости от окружающего света и помогает увеличить время автономной работы.
  • Датчик приближения - во время разговора если устройство приближается к вашему уху, этот датчик автоматически блокирует экран чтобы предотвратить нежелательные касания.

Это были все основные элементы смартфона, в различных моделях могут быть и другие датчики, например, датчик пульса, давления и температуры, но они встречаются намного реже.

Выводы

Мы рассмотрели из чего состоит смартфон. Теперь, когда у вас больше информации о сложных компонентах, из которых состоит каждый смартфон, вы можете выбирать вашу будущую покупку сравнивая характеристики различных компонентов. Так вы выберите лучшее устройство, которое будет полностью отвечать вашим потребностям.

Вы, наверное, здесь, потому что у вас уже есть устройство на Android или только начали думать о покупке. В новых очень много полезностей с расширенными правами и возможностями и много «веселья».

В отличие от iPhone или IPad (которые есть только несколько устройств), Андроид устройств существуют сотни, на выбор. Это всего лишь одна причина того, что делает их такими привлекательными и востребованными. Вы обязательно найдете именно то, что вам нужно — в пределах вашего бюджета или в зависимости от ваших других предпочтений.

Вариантов и видов Android очень много, потому что, технически это операционная система для любых смартфонов и планшетов. Много компаний делают и выпускают устройства, которые рассчитаны на работу от Android, в том числе Samsung, HTC, LG и другие менее известные бренды. И все они отличаются, так как каждый производитель вносит в устройство свои настройки и функции, что в свою очередь, служат преимуществами или недостатками той или иной компании при покупке его товара.

Что делает каждое устройство уникальным?

Устройства Андроид варьируются в зависимости от производителя. Посмотрите на два Android телефона ниже. Что вы видите?

Некоторые различия очевидны, но другие менее очевидны, например:

  • Телефон слева немного больше
  • Мониторы разные, отличаются кнопки в нижней части
  • Каждый экран имеет свой собственный уникальный макет
  • Некоторые значки выглядят по-разному; например, сравните две иконки вызова

Всегда будут отличия в самом аппарате, например внешний вид, память хранения и качество камеры. Также будут различия в программном обеспечении (другими словами, особенности на экране), которые могут повлиять на использования Андроид устройства в целом.

Покупка устройства Android

Теперь вы знаете, что каждое устройство Android является уникальным. Если у вас еще нет Android устройства, пришло время приобретать тот который соответствует вашим требованиям.

Выбор устройства

Если вы не уверены, с чего начать, вы можете проверить некоторые отзывы на сайтах. На основе отзывов будете иметь лучшее представление о том, какие устройства доступны, и насколько хорошо они выполняют свои функции. В общем, есть 2 основных фактора, на которые стоит обращать внимание при покупке: цена и характеристики.

Цена : устройства Android могут широко варьироваться в цене. Например, некоторые продавцы (например, Мегафон) предлагают определенные телефоны по очень низкой цене или даже бесплатно (обычно это старые модели или не очень функциональные модели), если вы покупаете симку сразу на определенный срок. Если ваш выбор падает на более дорогие телефоны, то цена таких телефонов колеблется от до . Планшеты обычно стоят больше.

Характеристики : Андроид устройства бывают разных форм, размеров и цветов. К основным характеристикам относятся размер экрана, время работы батареи, качество камеры, и общая производительность. Кроме того, есть ряд полезных функций, о которых тоже нужно подумать, например, режим громкой связи или даже распознавание отпечатков пальцев.

Покупка

Вы уже решили, какое устройство вы хотите? Есть 2 способа, чтобы сделать покупку — это в Интернете или в местном магазине электронной и компьютерной техники.

Избегайте сомнительных акций, или конкурсных предложений, которые звучат не правдоподобно. Так как на устройства Андроид сформирован очень большой спрос, и как правило, наличие недобросовестных продавцов и мошенников имеет место быть, особенно в интернете, которые хотят воспользоваться вашим вниманием и доверием. Рекомендуем приобретать товар только от известного и проверенного продавца.

    В определенных моделях планшетов на базе платформы Android могут отсутствовать некоторые компоненты из вышеприведенного списка.

    Все «андроидные» планшеты управляются одной из версий мобильной операционной системы от компании Google. При этом, более старые версии могут не поддерживать некоторые из современных приложений.

    Все версии самой популярной мобильной операционной системы имеют общее основание. Мы можем представить себе операционную систему Android в качестве многослойной структуры. Компьютерные инженеры называют это программным стеком. Элементы на вершине стека являют собою то, что видит пользователь в процессе своего взаимодействия с операционной системой. На «донышке» стека находятся те части операционной системы, которые взаимодействуют непосредственно с аппаратным обеспечением устройства.

    Итак, на самом нижнем уровне находятся сами аппаратные компоненты: процессоры, сенсоры, провода и печатные платы. Следующим слоем является ядро операционной системы. Ядро иногда еще называют встроенным (или фирменным) программным обеспечением. Более известно англоязычное определение «firmware». Это программное обеспечение осуществляет контроль над аппаратными ресурсами устройства, управление ими и их распределением.

    Эта часть операционной системы «переводит» на язык аппаратных компонентов те команды, которые отдает пользователь посредством удобного графического интерфейса. Образцом ядра для Android стала операционная система с открытым кодом Linux 2.6.

    Над ядром операционной системы располагаются библиотеки Android. Они являют собой наборы инструкций, которым устройство следует в процессе обработки различных типов данных. Примером может служить библиотека ориентации в трехмерном пространстве. Она содержит все инструкции, которые требуются Android-девайсу для того, чтобы распознавать изменения своего положения в пространстве и реагировать на них.

    На том же уровне программного стека располагаются корневые библиотеки, необходимые для поддержки приложений, написанных на языке Java. Java является языком программирования от Sun Microsystems. Еще сравнительно недавно телефоны с поддержкой Java-приложений были очень распространены. В настоящее время они все в большей степени вытесняются смартфонами.

    Виртуальная машина Android располагается на том же уровне программного стека операционной системы. Этот элемент программного обеспечения занимается созданием виртуального операционного окружения, которую иначе называют также виртуальной операционной средой. Виртуальная машина имитирует физическое устройство с отдельной операционной системой. Google спроектировала этот уровень так, чтобы каждое приложение, запущенное в операционной системе Android, функционировало в качестве отдельного процесса. Таким образом, если произойдет сбой одного из работающих процессов, остальные останутся незатронутыми. Виртуальная машина также играет роль менеджера памяти.

    На следующем уровне располагается инфраструктура приложений (application framework). Она является основой для всех приложений «андроидного» девайса. Инфраструктура приложений является связующим звеном между приложениями и остальными частями операционной системы.

    Google рекомендует разработчикам создавать такие приложения, которые взаимодействуют с этим слоем в рамках интерфейса прикладного программирования () разработанной поисковым гигантом операционной системы. Разработчикам остается только ознакомиться с этими правилами, имеющими отношение к API. Им не нужно задумываться о технических характеристиках каждого «андроидного» планшета.

    Самый верхний уровень программного стека содержит интерфейс пользователя и все приложения «андроидного» планшета. Именно эту часть операционной системы постоянно видит перед собой пользователь. Но за этим привлекательным и красочным слоем скрывается масса скучного, и интересного только специалистам кода.

    Как и любая другая операционная система, и другие аппаратные ресурсы планшета.

    По материалам computer.howstuffworks.com