Из чего состоит смартфон. Установочные файлы: передача другим устройствам. Файловый менеджер и как смотреть фильмы и слушать музыку на Андроид

Здравствуйте друзья, я начинаю развивать рубрику, связанную со смартфонами, теперь уже полноценно. Теперь на сайте вы найдете кучу интересных статей про смартфоны на базе 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. Операционная система Андроид, разработкой которой с лета 2005 года занимается компания Google, за очень короткий срок стала одной из самых популярных на мировом рынке, подвинув многих конкурентов. Зеленый робот, ставший лицом ОС, узнаваем пользователями и, что немаловажно, любим. Система добилась невероятных успехов, став основой для устройств самого разного назначения. Но какие конкретно устройства работают на ? Мы задались целью составить материал, в котором постараемся раскрыть ответ на этот вопрос.

Чем так хороша ОС Android

На рынке мобильных операционных систем сегодня главенствует, как многим известно, всего два представителя – iOS и Android. Этим двум противоборствующим ОС удалось попросту вытеснить всех остальных игроков, которым приходится довольствоваться ничтожным процентом.

И вот уже около десяти лет не утихают споры о том, что же лучше – или Android. В пользу первой говорит проработанность и стабильность – все для людей. Однако система является закрытой, а используется только в продукции компании Apple. Android же располагает к себе открытостью с возможностью кастомизации, а также обилием самых разных устройств – система доступна любой компании.

В открытости и распространенности и заключаются преимущества Андроид. Систему в своих целях используют и производители смартфонов, планшетов, умных часов, и автоконцерны. Кроме того, продукция, выпускаемая на Android, как правило, дешевле конкурентов на других операционных системах.

Устройства Android: где только не используется система

Ну что ж, теперь непосредственно к устройствам на Android. Их огромное число, потому мы затронем самые распространенные.

Смартфоны и Android

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

Смартфон был построен на базе чипа Qualcomm MSM7201A – одно ядро и частота 528 МГц. Эту «мощь» дополнили 192 Мб оперативной и 256 Мб постоянной памяти, благо можно было установить карту памяти на 16 Гб. 3.2-дюймовый экран получил разрешение 320×480 точек. И, как ни крути, для того времени это был настоящий прорыв.

После HTC Dream потенциал Андроид рассмотрели многие компании, открыв новую эру мобильных ОС. В Россию первый смартфон на Android приехал только в 2009 году, и стал им ни какой-нибудь там Samsung или LG, а HIGHSCREEN PP5420. И аппарат выглядит интересно даже сейчас.

Он обзавелся двумя экранами (дополнительный OLED ), процессором Qualcomm MSM7201A, ОЗУ 128 МБ, ПЗУ 256 МБ.

Однако операционная система тогда считалась выбором гиков, а большинству пользователей было комфортно с мобильными телефонами от Nokia. Прыжок выше головы Android сделала, когда обновилась до версии 2.3 (2011 год). Десятки компаний стали выбирать эту систему, да и пользователи рассмотрели потенциал.

Что имеем сегодня? Все крупнейшие производители (сами знаете за исключением кого) используют в своих смартфонах Android, добавляя что-то свое в код системы, дабы сделать ее лучше. Каждый год система обновляется, получая приставку в названии. С выходом новых версий пополняется арсенал возможностей Android. И нет никаких предпосылок, чтобы рынок смартфонов отказался от системы в ближайшие годы.

Планшеты


Планшет

Одним из первых представителей планшетов на Android стал Samsung Galaxy Tab, который попал на полки магазинов в 2010 году. Корейская компания выпускала устройство, чтобы навязать конкуренцию iPad, который уже тогда был готов стать лидером продаж.

До Samsung уже были попытки выпустить планшет на Андроид, но они либо просто не увенчались успехом, либо прошли незамеченными. Первый Galaxy Tab работал на версии 2.2, которая была явно не лучшим выбором для подобного класса гаджетов – она просто не была приспособлена в то время для планшетов, что не скрывала и Google. Хотя Samsung и постаралась ее доработать.

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

Сегодня Android-планшеты переживают не лучшие времена – новинки выходят редко, пользователи отдают предпочтение фаблетам, к тому же, серьезную конкуренцию навязывают iPad и модели на Windows.

Телевизоры, Mini PC, игровые приставки и TV Box на Android

Вслед за смартфонами, планшетами и некоторыми другими устройствами Андроид проник и в мультимедийные устройства. Еще летом 2012 года Nexus представила медиа-развлекательное устройство Q, которое подключалось к телевизору и воспроизводило различный контент. Работал гаджет на Android 4.0. Позже, в 2014 году, Google показала – ответвление, которое предназначалось для приставок и телевизоров. Android TV перенял всю функциональность основной системы, став более адаптированным к управлению пультом ДУ.

За широкие возможности ОС особенно приглянулась многим производителям , которые, подключаясь к телевизору, превращают его в некое подобие большого смартфона. Очень любимы эти устройства китайскими компаниями, выпускающими ТВ Боксы по 2000-3000 рублей. На Android TV выпускаются и некоторые модели телевизоров, но большинство крупных компаний имеет свои системы , от которых не желает отказываться.

Кроме того, с выходом Android 4.4 в интернет-магазинах появилось немало Mini PC на этой системе – небольшие устройства (часто в виде флешки), которые, по сути, представляют собой все те же TV Box. Главное их достоинство – компактность, позволяющая носить в кармане.

Многим пользователям интересна Android и как игровая система. Компании же стараются потворствовать желаниям покупателей. Уже сегодня на прилавках магазинов электроники можно найти игровую приставку на Android от , а также кучу портативных моделей от китайских компаний.

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

Носимая электроника и техника для дома

Относительно недавно новым трендом стала умная носимая электроника, в числе которой оказались . На волне популярности Android выпустила в 2014 году свою систему для умных часов – . Как и полноценную ОС, ее постарались сделать наиболее удобной и функциональной. Сегодня на Android Wear доступны часы от таких крупных брендов как Samsung, LG, Huawei, Sony и других.

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

Интересные приборы для кухни с операционной системой Андроид «на борту» представляют почти на каждой выставке. Кроме того, падает постепенно и цена на подобные устройства, что способствует их быстрому распространению.

Ноутбуки, камеры, проекторы, электронные книги

Есть ноутбуки, работающие на Android. Их относительно немного, но Google сегодня готова приложить все усилия, чтобы их продукт навязал конкуренцию системе уже десктопной – Windows. Кроме того, каждый пользователь может опробовать Андроид на своем компьютере или ноутбуке, причем совершенно бесплатно.

Однако пока ноутбуки на Андроид особым успехом не пользуются – все же для работы со многим программами на голову выше . Возможно, только пока.

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

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

Устройства для автомобилей


Фото: Андроид-магнитола Shuttle SDVA-6950 v2

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

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

Заключение

Список устройств, работающих на операционной системе Google, действительно впечатляет. По факту, ни одна другая система не способна похвастаться столь широким распространением. И ведь сферы применения 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-метода.

Разве это не здорово, когда научная фантастика становится научным фактом? Наверняка вы помните о крутом устройстве связи, которым обладал капитан Кирк из Стартрека, и я уверен, что вы даже желали быть обладателем этого чуда. Напомню, капитан Кирк и экипаж под названием «Энтерпрайз» могли общаться на расстоянии с помощью этих устройств персональной связи.
Теперь, когда мы живём в эпоху электроники и всего умного, в 21 веке, наши «коммуникаторы» кладут на лопатки устройства из Стартрека. Мы не только можем говорить друг с другом посредством нынешних смартфонов, но и читать сообщения, слушать музыкальный контент, играть в крутые трёхмерные игры, работать с документами, фотографировать, проверять электронную почту, находить рестораны, работать в Интернете, смотреть кино - всё это в одном устройстве. Залезешь под кат - узнаешь всё самое интересное!

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

Вот список некоторых возможностей, которыми сможет ежедневно пользоваться человек, обладающим смартфоном:

  • Управление персональной информацией, включая заметки, календарь и списки дел
  • Передача медиаконтента посредством беспроводных интерфейсов Wi-Fi, Bluetooth, NFC
  • Связь с ноутбуком и персональными компьютерами
  • Синхронизация данных с приложениями
  • Многофункциональные приложения: статистика работы процессорных ядер, подробный прогноз погоды, чтение актуальных новостей, переводчики, электронная почта, мессенджеры, видеоигры наконец
  • Сканирование документов, QR-кодов и штрих-кодов
  • Замена кошелька. Смартфон может хранить информацию о кредитных картах
  • Оплата счетов и услуг. Такие приложения, как WebMoney, PayPal или CardStar помогут вам
  • Создание сети Wi-Fi, которую смогут использовать одновременно несколько устройств. Это означает, что вы можете получить доступ ко всемирной паутине с планшета iPad или ноутбука без использования маршрутизатора или другого периферийного устройства
Хотя сотовые телефоны и имеют общие черты с портативными компьютерами, пейджерами и другими устройствами, они имеют ряд особенностей, которые делают их развитие должным образом уникальным.
  • Когда вы делаете звонок по мобильному телефону, вы хотите в то же время иметь доступ к другим функциям (вроде адресной книги или календаря)
  • Сотовые телефоны должны быть «всегда на» как стандартный стационарный телефон, но достаточно эффективными, чтобы работать в автономном режиме столько, сколько это возможно
  • Они должны быть максимально функциональными
  • В то время как компьютер имеет вполне стандартные методы ввода данных - почти все они оснащаются клавиатурами и мышами - телефон может иметь цифровую клавиатуру, модифицированную раскладку клавиатуры, сенсорный экран или некоторые комбинации перечисленного
Сегодня каждый человек имеет смартфон, ну или по крайней мере мечтает о нём. На самом же деле, по оценкам насчиталось порядка 1.4 миллиарда используемых смартфонов в мире по состоянию на декабрь 2013 года. Люди постоянно используют их во многих сферах жизнедеятельности: звонки, фотографии, серфинг в Интернете и множество других вещей, включая покупки автомобилей - капитан Кирк будет ревновать.

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

Смартфоны используют сетевую технологию для отправки и получения данных (телефонные звонки, просмотр веб-страниц, передача файлов). Разработчики классифицируют эту технологию в поколениях. Вы помните первое поколение? Она включала в себя аналоговые технологии мобильного телефона. Однако, как сотовые технологии прогрессировали, протоколы стали более совершенными. В 2014 году сотовые телефоны находятся в мире четвёртого поколения сетей или 4G. В настоящее время многие производители оснащают смартфоны поддержкой сетей четвёртого поколения, но есть и такие компании, как Samsung, например, которые разрабатывают пятое поколение, то есть 5G, которая, если недавние испытания верны, позволит вам скачать весь фильм менее чем за секунду.

Аппаратное и программное обеспечения

Большинство смартфонов работает благодаря процессорам (как работает процессор читайте в статье " ". Наряду с процессорами смартфоны имеют компьютерные чипы, которые обеспечивают им функциональность. Телефоны с камерами имеют датчики изображения с высоким разрешением, как и цифровые камеры. Другие микросхемы поддерживают более сложные функции, такие как работа в Интернете, обмен мультимедийными файлами или воспроизведение музыки, не значительно сажая при этом аккумулятор устройства. Некоторые производители разрабатывают чипы, объединяющие сразу несколько функций, чтобы помочь снизить общую стоимость.

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

  • Ядро - система управления процессами и драйверами аппаратных средств
  • Промежуточное программное обеспечение - библиотеки программного обеспечения, которые позволяют смартфону обзаводиться приложениями (безопасность, веб-браузер, передача сообщений)
  • Среда исполнения приложений (Application Execution Environment, AEE) - интерфейсы прикладного программирования, которые позволяют разработчикам создавать свои собственные программы
  • Структура пользовательского интерфейса (Framework UI) - графика и макеты, отображаемые на экране
  • Пакет приложений - основные приложения для доступа к повседневным задачам, будь то открытие меню, календарь, сообщения, почтовый ящик, калькулятор и другие

Операционные системы

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

Android . Предназначена в первую очередь для сенсорных мобильных устройств. Разработана компанией Google, изначально была создана компанией Android Inc. Большинство людей считают операционную систему Android революционной технологией, потому что она имеет открытый исходный код и позволяет писать людям программные коды и приложения, что означает зелёный робот постоянно развивается. Операционная система Android может работать сразу с несколькими приложениями - это многозадачность. В настоящее время магазин приложений, используемый в Android и называемый Google Play, насчитывает более миллиона различных приложений.

iOS . Компания Apple, как снова же многие считают, всегда была революционной и создавала соответствующие продукты - простые и логичные. Рекламируемая производителем как самая передовая мобильная операционная система, iOS поддерживает большое количество функций. По состоянию на момент публикации данной статьи, iOS 7 способна автоматически обновлять приложения и обзавелась подобным главному конкуренту в лице зелёного робота центром управления, который даёт пользователям доступ к наиболее часто используемым функциям. Плоский, минималистичный и яркий дизайн новой версии операционной системы от Apple многие обругали, но свыклись.

Windows Phone . Рецензенты говорят, что данная операционная система так же проста в плане использования, как и Android. Её главным достижением являются живые тайлы, которые запрограммированы как плитки разных размеров. С помощью них пользователь может легко получать доступ к нужной и актуальной информации. Windows Phone 8 хорошо работает в связке с другими продуктами Microsoft, в том числе и такие приложения, как Office и Exchange. Для тех, кто много звонит, постоянно зависает в социальных сетях и использует текстовые сообщения, детище софтверного тек-гиганта из Редмонда удовлетворит данные потребности.

Ubuntu Touch . На первый взгляд, по мнению экспертов, Ubuntu Touch может показаться обычной операционной системой, но это не так. Эксперты говорят, что Ubuntu Touch - одна из самых простых операционных систем для использования. Она не использует аппаратные кнопки навигации, потому как основана на жестах подобно другому продукту - Sailfish OS. Разработанная компанией Canonical, Ubuntu Touch позволяет пользователям разблокировать смартфон простым жестом. Вы можете провести пальцев вниз от верхнего края, чтобы получить доступ к основной информации - дате, времени, сообщениям (из различных приложений: Skype и Facebook) и беспроводным сетям. Кроме того, обладатели смартфонов под управлением данной ОС смогут без проблем обмениваться фотографиями. Каждая сделанная фотография автоматически загружается в личное облако, что делает её доступной на всех устройствах, в том числе и под управлением iOS, Android и Windows Phone.

Гибкие интерфейсы

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

Bluetooth
Эта функция, использующая беспроводные сети, обеспечивает обмен информацией между различными мобильными устройствами. Главная задача синего зуба - передача данных без помощи проводов и обеспечение экономичной и дешёвой радиосвязи. Среди поддерживающих данную технологию устройств стоит отметить следующие: принтеры, сканеры, устройства ввода, компьютеры и гарнитуры. Некоторые версии Bluetooth позволяют только связать одно устройство за раз, а другие способны связать одновременно несколько устройств. Чтобы узнать больше, ознакомьтесь с соответствующей из колонки «Как это работает».

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

Open Mobile Alliance (OMA) является совместной организацией с одной миссией. Они сформировали рабочую группу синхронизации данных, которая продолжает свою работу, начатую в рамках инициативы SyncML. SyncML - проект на открытых стандартах, направленный на ликвидацию неприятностей и заботясь о том, чтобы пользовательская информация и данные синхронизировались между собой и наоборот. Проект разработан таким образом, чтобы любой вид данных мог быть синхронизирован с любым применением аппаратных средств через любую сеть, при условии, что они все запрограммированы по стандартам OMA. Это включает в себя синхронизацию веб, Bluetooth, а также почтовых протоколов и TCP/IP сетей.

SyncML позволяет синхронизировать данные с телефона на устройство под управлением операционных систем Windows, Mac, Linux с помощью Bluetooth, инфракрасного порта (ИК-порт, IrDA), HTTP или с помощью кабеля USB. Если желаете получить дополнительную информацию, вам стоит посетить веб-сайт Open Mobile Alliance.

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

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

Будущее смартфонов


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

Пожалуй, самым сложным фактором для будущего является обеспечение безопасности. Смартфоны могут быть уязвимы к нарушениям безопасности. Например, атака под названием Evil Twin (Злой Близнец), в процессе которой хакер устанавливает сервисный идентификатор сервиса, создавая легитимную точку доступа или сеть и одновременно блокируя трафик на реальном сервере. Когда пользователь подключается к серверу хакера, информация может быть попросту перехвачена и безопасность данных будет находится под угрозой. С другой же стороны, некоторые критики утверждают, что производители антивирусного программного обеспечения значительно преувеличивают риски, вред и объём телефонных вирусов, чтобы помочь таким образом самим же себе в продаже фирменных продуктов.

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