- Операционная система Android
- История развития
- Архитектура
- Android против Linux
- Ядро Android
- Разработка приложения
- Заключение
- Подробная история популярной ОС Google Android: от маленького стартапа до захвата мира
- Android: Начало
- Android: официальный старт
- Android: вторая попытка
- Android Gingerbread и Honeycomb
- Android 4: от Ice Cream Sandwich до KitKat
- Android Lollipop
Операционная система Android
Feb 4 · 6 min read
Android — это операционная система с открытым исходным кодом, созданная для мобильных устройств на основе модифицированного ядра Linux. Эта ОС разработана консорциумом Open Handset Alliance, состоящим из крупных технологических компаний при организующей роли Google. Исходный код ОС представлен как часть проекта Android Open Source Project (AOSP) с лицензией Apache. Выпущенный на рынок в 2007 году Android вскоре стал самой продаваемой операционной системой в истории, благодаря своей открытой модели разработки и удобному интерфейсу. Последняя версия Android 11 вышла в 2020 году.
История развития
Проект Android появи л ся в 2003 году с целью разработки интеллектуальных мобильных устройств. Начинался он с разработки ОС для цифровых фотокамер, но вскоре акцент сместился на мобильные телефоны из-за их большой распространенности на рынке. В 2005 году проект приобрел Google и в качестве основы для этой ОС было выбрано ядро Linux за счет его гибкости и возможности обновления.
С целью разработки платформы с открытым исходным кодом для мобильных устройств в 2007 году Google сформировала Open Handset Alliance с несколькими производителями оборудования и операторами беспроводной связи. В то время каждый производитель выпускал мобильные телефоны на базе собственной платформы, с ограниченными возможностями для сторонних приложений. Альянс заявил, что открытая платформа обеспечит тесное сотрудничество между производителями и разработчиками, чтобы ускорить производство недорогих инновационных продуктов и приложений.
Платформа Android была представлена в 2007 году и вышла на рынок на следующий год. Поначалу ей мешал ограниченный набор функций и небольшая база пользователей по сравнению с конкурентами Symbian и Windows. Однако возможность обновления стала самым большим преимуществом этой ОС, поскольку каждое обновление давало новые функции и улучшенную производительность. Из-за «сладости, которую они приносят в нашу жизнь», первые версии были названы в честь десертов, в алфавитном порядке, например Cupcake, Jellybean и KitKat. Однако вскоре у Google закончились десерты, и с 2019 года новые версии ОС получают номера, начинающиеся с Android 10. Лицензия с открытым исходным кодом также помогла увеличить популярность этой ОС среди производителей мобильных устройств, поскольку они могут теперь модифицировать ОС под свои требования, не влияя при этом на разработку приложений.
Но самая главная особенность в том, что Android — это больше, чем просто операционная система. Он во многом уравнял мобильные устройства с персональными компьютерами, позволив разработчикам писать приложения независимо от аппаратной платформы устройства. Это привело к созданию глобальной платформы для приложений и укрепило позиции Android, как передовой мобильной платформы, и в 2011 году он стал самой продаваемой операционной системой для смартфонов и для планшетов в 2013 году. Сегодня на Android работает множество электронных устройств, включая смарт-камеры, часы, медиаплееры и многое другое.
Архитектура
Первоначально Android разрабатывался для архитектуры ARM, а затем был расширен для поддержки архитектур x86 и x86–64. Однако в целом Android не заботится об аппаратном обеспечении устройства из-за разнообразия и множества типов среди компонентов в мобильных устройствах.
Основой ОС Android является модифицированная версия ядра Linux LTS, которая непосредственно взаимодействует с оборудованием. Драйверы, необходимые для работы устройства, реализуются производителями оборудования и добавляются в ядро. Это позволяет производителям оборудования разрабатывать драйверы для хорошо известного ядра, а разработчикам ОС игнорировать разнообразие оборудования. Android 11 поддерживает версии ядра 4.14, 4.19 и 5.4.
Особенности оборудования дополнительно маскируются также реализуемыми производителями уровнями аппаратной абстракции, которые предоставляют стандартные интерфейсы для высокоуровневых структур, чтобы обеспечить доступ к аппаратному обеспечению устройства, не заботясь при этом о реализации драйверов.
Android Runtime (ART) — это виртуальная машина, которая выполняет код приложения, содержащийся в файлах Dalvik Executable (DEX). Она управляет компиляцией кода, отладкой и очисткой памяти. Каждое приложение работает со своим собственным экземпляром ART, то есть в своей собственной виртуальной машине, чтобы обеспечить изоляцию кода. ART заменил Dalvik в качестве виртуальной машины Java для Android в 2013 году, поскольку его компиляция Ahead-of-Time обеспечила лучшую производительность по сравнению с компиляцией Just-in-Time у последней.
Собственные библиотеки C/C ++ являются важной частью операционной системы, поскольку большинство основных компонентов Android написаны на собственном коде. Инфраструктура Java API — это шлюз в ОС для всех пользовательских приложений. Он предоставляет множество сервисов для приложений в виде вызовов Java API, включая менеджеры действий, ресурсов и уведомлений, поставщиков контента и систему просмотра. Именно поэтому приложения для Android в основном разрабатываются на Java, хотя собственные библиотеки обеспечивают некоторую поддержку C/C++. Совсем недавно также поддерживался и Kotlin, он даже предпочитался Google для разработки приложений Android. Код компилируется Android Software Development Kit (SDK) и архивируется в виде пакета Android (APK).
Android против Linux
Хотя некоторые считают Android дистрибутивом Linux, он имеет мало общего с обычной ОС Linux.
В традиционном стеке Linux ядро выполняет большую часть системных функций, включая управление памятью и файлами, аппаратное взаимодействие и планирование процессов. Системные функции предоставляются приложениям через библиотеки и вызовы API на языке Си. Именно поэтому GNU C является более важной библиотекой в Linux. Пользователи взаимодействуют с системой через оболочки, которые транслируют пользовательские команды в системные вызовы.
С другой стороны, Android можно рассматривать как пользовательское приложение, работающее в Linux. ОС использует ядро для взаимодействия с оборудованием и управления системой, а затем предлагает свои функции другим приложениям через интерфейс API. Этот интерфейс написан полностью на Java, и даже функции библиотек C/C ++ предложены в оболочках Java. В Android нет оболочки, хотя некоторые утилиты командной строки поддерживаются через приложение Toybox.
Кроме того, Android оптимизирован для мобильных устройств, которые обычно обладают малой вычислительной мощностью, имеют небольшой объем памяти и работают от батарей. По умолчанию, в качестве библиотеки C, вместо GNU, он использует Bionic из-за пониженных требований к памяти и процессору. При нехватке памяти, Android может уничтожить наименее используемые процессы и сбросить блоки разделяемой памяти. Кроме того, здесь реализуется уникальная система управления питанием, в которой устройство остается в спящем режиме, потребляя минимальную мощность до тех пор, пока процесс не запросит ресурс.
Ядро Android
Перед установкой на устройство само ядро Linux подвергается модификации несколькими участниками проекта. Во-первых, разработчики Android оптимизируют ядро LTS для мобильных устройств, вносят коррективы в функции Android и оставляют код как общее ядро AOSP. Разработчики AOSP реализуют большинство изменений в виде драйверов устройств, чтобы гарантировать внесение минимальных изменений в основной код ядра. Это позволяет с минимальными изменениями объединять обновления базового ядра в ACK. Поставщики оборудования добавляют драйверы и уровни абстракции для создания ядра поставщика. Затем, производители устройств обновляют ядро в соответствии со своими требованиями, реализуя новые драйверы или даже улучшая систему. Это ядро, в конечном счете, устанавливается на выпускаемые производителем устройства.
Разработка приложения
Основной принцип разработки в Android заключается в том, чтобы абстрагироваться от вариативности оборудования и предоставить унифицированный интерфейс для приложений. Это достигается запуском всех приложений на виртуальных машинах Java, подобных Dalvik или ART. Еще более способствует этой абстракции и упрощает разработку приложений комплект, состоящий из инфраструктуры Java API и SDK Android. Интерфейс API выполняет всю сложную работу, обеспечивая приложениям доступ к системным ресурсам лишь через вызов функции, в то время как SDK предоставляет визуальные инструменты для создания макетов приложений и управления вводом данных пользователя.
Android предоставляет приложениям большую часть своих функций через службы (services). Служба — это приложение, которое выполняет длительные операции в фоновом режиме. Она не предоставляет пользовательского интерфейса и доступна только через платформу API. Службы также могут выполнять операции в приоритетном порядке и сообщениями уведомлять пользователя. Служба также может быть привязана к приложению и обеспечивать интерфейс клиент-сервер.
Стек Android также включает вторую операционную систему Trusty. Она работает параллельно с основной операционной системой и обеспечивает доверенную среду для изолированного выполнения. В основном она используется для мобильных платежей, безопасного банковского обслуживания, обработки паролей и других процессов, требующих безопасности и конфиденциальности.
Заключение
При первых анонсах Open Handset Alliance их планы по взаимодействию при разработке открытой и многоцелевой платформы представлялись не более чем громким заявлением. Однако через десять лет платформа Android произвела революцию, и не только в мобильной индустрии. Фактически, она породила совершенно новые отрасли промышленности и коренным образом изменила наш образ жизни, работы и общения.
Источник
Подробная история популярной ОС Google Android: от маленького стартапа до захвата мира
На сегодняшний день последняя версия Android имеет порядковый номер 5 и кодовое название Lollipop. Система получила значительные обновления в дизайне, функциональности, в общем, это практически заново созданный продукт. Сейчас уже смартфоны Google Nexus 5 начали обновляться до этой версии ОС, а скоро и все современные смартфоны получат актуальное обновление. Однако про новый 5.0 мы расскажем отдельно, а начать хочется всё же ещё с тех времён, когда проект Android даже не принадлежал Google…
Android: Начало
Многие считают, что история Android началась в 2008 году, когда была выпущена первая версия Android 1.0. Но на самом деле всё закрутилось на 5 лет раньше, в 2003 году, когда Энди Рубин с товарищами (Ник Сирс, Крис Уайт и Рич Майнер) решил создать мобильную операционную систему и зарегистрировал компанию Android Inc. Разработчики сначала сосредоточились на устройствах, которые могли бы постоянно находиться у пользователей, определять местоположение по GPS и автоматически подстраиваться под нужды человека.
Энди Рубин, создатель Android Источник: technobuffalo.com
Для инвесторов того времени вряд ли вообще было что-то понятно. Ну а кто захочет вкладывать деньги в непонятный стартап, который пока что никаких денег не приносит… Так и случилось, что к 2005 году Энди и друзья потратили все средства, но по счастливой случайности к ним присмотрелись из Google и 17 августа 2005 года корпорация стала полноправным владельцем маленькой Android Inc. Стоит отметить, что Google на тот момент не имела каких-то особых планов на гаджеты, а была больше сосредоточена на улучшении собственного ПО и алгоритмов поиска. Страшно сказать, но на тот момент у Google не было никакого Adsense и даже YouTube (его приобрели только в 2007 году).
Логотип Google в 2005 году
В этом же году на фоне судебных разбирательств Oracle и Google решается, что Android будет свободной операционной системой и, конечно же, в первую очередь ориентироваться на внедрение сервисов Google. Так как Энди Рубин изначально занимался проектом, связанным с GPS, а у корпорации уже были Карты, предполагалось внедрение карт в телефоны. Причём тогда ещё не было никаких смартфонов, поэтому карты могли появиться на обычной раскладушке с кнопками. Первые изображения также указывают на то, что Google ориентировался на опыт RIM с их Blackberry, так что если бы не стечение обстоятельств, то сенсорные телефоны могли бы и не появиться. Но, к сожалению или к счастью, в 2007 выходит iPhone и в Google резко пересматривают стратегию. Тем не менее, к выпуску в 2008 готовится первая сборка Android 1.0. Однако в начале 2007 года у Google нет партнёра, который выпустил бы телефон на новой ОС. Nokia — слишком крупная компания, с которой будет конфликт интересов, Motorola ещё не отошла от взлёта продаж моделей Razr. В Google выбирают между LG и HTC. Корейской LG интересен рынок США, однако она боится сотрудничества с неизвестным партнёром и использует договорённости с Google только для того, чтобы заключить контракты с Microsoft по созданию смартфонов с Windows Mobile. А вот HTC была готова к совместной работе, да к тому же тайваньская компания могла быстро создавать рабочие образцы. Первым известным прототипом стал Google Sooner. Тут, правда, пришлось отказаться от сенсорного экрана, эта модель создана по первоначальным спецификациям, когда Google опиралась на опыт Blackberry.
Возможно первый прототип телефона на Android — Google Sooner
Источники сообщают, что первая рабочая версия датируется 15.05.2007 и называлась она тогда M3. Операционка очень напоминает интерфейс Blackberry, главную позицию занимает поисковая строка Google. В общем, если бы не появление iPhone и курса на сенсорные экраны, возможно, мы бы сейчас видели Android вот таким.
Скриншот Android M3, возможно первой рабочей версии ОС Источник: 9to5google.com
Android: официальный старт
В Google отчетливо понимали, что с релизом Apple iPhone наличие сенсорного экрана просто необходимость, и поэтому ранние разработки пришлось отложить. Этому способствовало и общение с операторами, летом 2007 года их мнение о будущем Android были пессимистичны. В августе 2007 года в WSJ появляется статья, в которой говорится об усилиях Google относительно своего телефона и платформы. В этом материале упоминается, что у компании два прототипа – один похож на Palm Treo с QWERTY-клавиатурой под экраном, а второй чем-то напоминает вариант Nokia. Внутри команды Android идет соревнование со временем, так как все предыдущее планы никуда не годятся и от них решили отказаться. Команда меняет сроки, и во вторую половину 2007 года выпускается М3. В версии М5, она появляется в начале 2008 года, в ней появляется статусная строка, хотя эксперименты с UI заметны невооруженным взглядом. Посмотрите видео, чтобы понять различие между этими версиями.
И только к августу 2008 года в Google разработали версию 0.9, чтобы представить версию ОС 1.0 в сентябре 2008 года. С 22 октября 2008 года, оператор T-Mobile в США начинает продажи HTC Dream (T-Mobile G1), первого Android-смартфона, в котором присутствовал сенсорный экран и ОС полностью интегрирована под его использование. Но переработать ОС в Google смогли только к версии 1.6, избавившись от старых представлений, которые заложили изначально при ее создании. Пожалуй, что именно с этого момента и начинается взлет Android. Интерес к HTC Dream в США был огромен, оператор продал к 23 апреля 2009 года 1 миллион устройств. Такой спрос на столь обыденное и простое устройство еще раз доказал, что идеи выигрывают, в данном аспекте это была идея сенсорных телефонов, которая завладела умами потребителей.
Естественно, первые же тесты на реальных пользователях выявили множество недоработок платформы и уже в первый год существования Android Google выпустила следующие обновления: 1.1. Banana Bread, 1.5 Cupcake (появилась загрузка видео и фото на YouTube и Picasa, автоматическая ориентация дисплея, предикативный ввод и т.д.), и 1.6 Donut (преобразование речи в текст с мультиязычным произношением, поддержка WVGA, оптимизированная работа с жестами и т.д.)
Android: вторая попытка
После усовершенствования 1-й версии, Android получил уже расширенную функциональность и хороший внешний вид к версии 2.0, а затем и в 2.1 с одинаковым кодовым именем Eclair. Стало возможным использовать несколько аккаунтов Google, а стандартный веб-браузер получил поддержку HTML5. Одновременно с этим в продажу поступили новые модели Android-смартфонов: НТС Magic и Hero, Motorola Droid и Samsung Galaxy.
Тогда же, в 2010 году начинается выпуск мобильных процессоров с тактовой частотой 1 ГГц. И появляется первый фирменный смартфон Google Nexus One с 1 ГГц процессором. Разумеется, партнером Google становится компания HTC. А процессоры с аналогичной частотой получили НТС Desire, Motorola Droid 2 и Samsung Galaxy S. Кстати, HTC больше не будет делать устройства Google до 2014 года, когда выйдет Nexus 9. В том же 2010 году Google выпустила ещё одну версию Android, новую 2.2 Froyo, в которой выросло быстродействие приложений, использующих JIT-компиляцию, и появилась поддержка Adobe Flash. Ну а обновление до Froyo получили все вышеупомянутые смартфоны с 1 ГГц процессором. Помимо этого, сборка получила такие обновления, как движок Chrome V8 JS для web-обозревателя, передачу контактов и поддержку док-станций по BlueTooth, облачную синхронизацию и т.д.
Google Nexus One и Android 2.2 Froyo
Кстати, в России многие увидели Android впервые именно в этой редакции, так как в этом году в нашей стране начинается спрос на сенсорные смартфоны, Android постепенно входит в моду. До 2010 года «зелёного робота» видели только гики, да и то, скорее в интернете или журналах, чем в собственных руках.
Android Gingerbread и Honeycomb
Шёл третий год существования Android на рынке. Это уже была популярная ОС, но проблем оставалось ещё много. И вот, появляется обновление 2.3 Gingerbread, которое до 2013 года было установлено на огромном количестве устройств. Действительно, в данной версии ОС было реализовано много функций, которые обозначили перспективы развития платформы как таковой — поддержка SIP-телефонии, Near Field Communication и Google Talk, работа с экранами более высокого разрешения, новый менеджер загрузок и многое другое.
Вместе с Gingerbread компания Google выпусткает свой второй брендовый смартфон – Nexus S. На этот раз производителем становится Samsung, а Nexus S представлял собой, по сути, слегка видоизмененный Galaxy S. Правда, вышел Google Nexus S явно поздновато: в день начала его продаж компания LG анонсировала первый двухъядерный смартфон Optimus 2Х. Теперь производители меряются не гигагерцами, а многоядерностью. В результате двухъядерные чипы получил не только LG Optimus 2Х, но и Samsung Galaxy S II, НТС Sensation и Motorola Droid X2.
А компания Samsung, тем временем, выпускает вслед за смартфоном Galaxy S другое устройство — планшет Galaxy Tab. Компактная и легкая семидюймовая «таблетка» стала хорошей альтернативой для тех, кому не нравился громоздкий Apple iPad. Но вот беда, Android-то пока что существует только для смартфонов. Не проблема, подумали в Google, и в начале 2011 года появляется первая спроектированная специально для планшетных ПК версия Android – 3.0 Honeycomb. Смотрелась на планшетах Honeycomb и правда лучше, чем растянутый смартфонный интерфейс Gingerbread. Так, на базе ОС Android заработали уже и смартфоны, и планшеты. Бизнес начинал расширяться, причём стремительно. Носителями Honeycomb становятся практически все Android-планшеты — Motorola Xoom, Acer Iconia Tab, Samsung Galaxy Tab 10.1, Lenovo ThinkPad Tablet и т.д.
В этом же 2011 году на технологической выставке IFA 2011 в Берлине Samsung представиляет свой первый 5-дюймовый фаблет Glaxy Note, который стал весьма востребованным устройством, несмотря на мнение скептиков. Тогда это было, по сути, первое устройство такого класса, да ещё и на Android. Apple до этого потребовалось ещё 3 года, в 2014 году компания выпустила фаблет iPhone 6 Plus.
Android 4: от Ice Cream Sandwich до KitKat
В Google понимают, что иметь две раздельные системы для смартфонов и планшетов — это не очень выгодно. Тратится больше времени на разработку и поддержку. И осенью 2011 года Google выпускает версию Android 4.0 Ice Cream Sandwich, которая становится первой кроссплатформенной версией для смартфонов и планшетов. В сборке также появляется доступ к приложениям прямо с «локскрина», а AndroidMarket переименовывается в Google Play. По словам многих специалистов, именно с версии 4.0 Android начал приобретать привычные очертания и нормальную функциональность. Теперь устройствами на «зелёном роботе» тоже можно было просто пользоваться, они перестали быть гаджетами для гиков.
Следом за новой операционкой Google презентовала и новый смартфон — Galaxy Nexus, который, очевидно, также был разработан при сотрудничестве с Samsung. И снова после релиза смартфона производители комплектующих начинают борьбу за железо. Qualcomm представляет мощные процессоры Krait, а Nvidia анонсирует 4-ядерные чипы Tegra 3. Ну а бесспорным лидером Android-смартфонов в 2012 году становится Samsung Galaxy S III, составивший компанию бюджетному бестселлеру ASUS Nexus 7 на базе новой ОС Android 4.1 Jelly Bean.
В 2012-2013 годах ничего особого с Android не произошло после глобальных изменений с объединением планшетной и смартфонной версии. Тем не менее, в 2012 году Google делает еще 2 фирменных устройства — смартфон LG Nexus 4 и планшет Samsung Nexus 10. Параллельно с новинками была представлена обновленная сборка Android 4.2 Jelly Bean, которая дополнила предыдущую версию. Теперь пользователи смогли сполна ощутить преимущества от использования GoogleNow, Cloud Messaging, Android Beam, тройной буферизации, многоканального USB audio и т.д. Затем представлен смартфон Google Moto X и планшет Google Nexus 7 2-го поколения, которые в нашей стране не пользовались особой популярностью по причине того, что Motorola ушла с российского рынка ещё в 2010 году.
В 2013 году на рынке появляется Nexus 5, опять же, в результате сотрудничества с LG. И для него и других устройств выходит новая версия Android 4.4 KitKat. Да, это первый случай, когда индикатором версии становится название коммерческого продукта, но не будем об этом. Изменения коснулись не только интерфейса отдельных системных приложений и элементов. Появилась в KitKat обещанная прозрачность верхней панели уведомлений вместе с новым утонченным шрифтом и поддержкой полноэкранного интерфейса со стороны отдельных приложений. С выходом KitKat упростился доступ к сервису Google Now. Теперь его вызов унифицирован – достаточно лишь провести по экрану пальцем слева направо. Ранее способы доступа к Google Now варьировались в зависимости от модели смартфона (нажатие на кнопку Home, потряхивание и т. д.). Дополнительно сервис активируется фразой «OK Google» при открытом стартовом экране. Не обошли вниманием разработчики и программу Hangouts. Теперь она позволяет отправлять не только чат-сообщения, но и SMS/MMS. Наконец, отметим встроенный в KitKat шагомер, который работает даже в фоновом режиме, а также расширенную совместимость с принтерами через облачную технологию Google Print. Последняя позволяет безо всяких проводов отправлять на печать документы, меняя предварительно размер бумаги и указывая требуемое количество страниц.
Таким образом, Android KitKat стал практически совершенной версией системы. Работа всех сервисов была отлажена, внешний вид догнал Apple по интуитивности и стилю, в общем, со всех сторон это была уже хорошая доработанная система. Но Google хотелось большего. Нужен был Material Design, Android Wear, работа с автомобилями и многое другое. В общем, всё то, чего нет в KitKat, но есть в Lollipop.
Android Lollipop
В начале 2014 года Google показывает миру Android Wear, специальную ОС для носимых устройств. Некоторые компании тут же начинают разрабатывать устройства на этой операционке, чтобы уже на IFA 2014 представить их пользователям. Так, появляется Moto 360, LG Watch R и Sony SmartWatch 3. Но это далеко не главное событие у Android, которое ждёт его в этом году.
Источник