Что такое операционная система android
Перейти к содержимому

Что такое операционная система android

  • автор:

Android

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

«IT-специалист с нуля» наш лучший курс для старта в IT

Начало популярности Android

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

iPhone на iOS появился на рынке раньше смартфонов, работающих на Android, и в 2007 году занимал большую часть рынка. У Google получилось немного исправить ситуацию с выходом телефона Motorola, на котором была предустановлена ОС Droid. Всерьез на эту ОС обратили внимание спустя два года — в 2009-м, когда она стала официально главным конкурентом iOS. Во многом этому способствовало свободное распространение. Изначально Android создавался на ядре Linux. Линус Торвальдс — создатель этой популярной ОС для компьютеров — начинал работу над ядром еще в 1991 году, написав код на языках C и ассемблер. В настоящее время ядро для Android используется и в приложениях для Linux.

Ядро непосредственно отвечает за взаимодействие с операционной системой и памятью. Это самый первый уровень ОС при взаимодействии с аппаратным обеспечением.

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

Список версий Android

Отличительной особенностью и концептом Android является нейминг версий обновлений ОС. Очень часто новые версии получают имя в честь различной кондитерской продукции. Проследив за хронологией, это несложно заметить. Первой версией Android стала Apple Pie, вышедшая в 2009 году. Далее обновления выходили относительно регулярно, практически каждый год.

2010 год — Android 2.3 Gingerbread

2011 год — Android 4.0 Ice Cream Sandwich

2012 год — Android 4.1 Jelly Bean, Android 4.2

2013 год — Android 4.3, Android 4.4 KitKat

2014 год — Android 5.0 Lollipop

2015 год — Android 5.1

2016 год — Android 6.0 Marshmallow, Android 7.0 Nougat, Android 7.1

2017 год — Android 8.0 Oreo, Android 8.1

2018 год — Android 9.0 Pie

2019 год — Android 10.0

2020 год — Android 11.0

2021 год — Android 12.0

2022 год — Android 13.0 Tiramisu

ОС практически доведена до совершенства с течением времени, что дало возможность Google начать разработку новых операционных систем, в частности Fuchsia.

Альтернативы Android

Fuchsia

Это новая операционная система от Google. Впервые ОС появилась на GitHub в 2016 году без предварительного анонса. Появление Fuchsia вынужденное: наступает эра систем на микроядре, имеющем модульную архитектуру. В результате обновлений разработчики смогут применять систему не только в гаджетах, но и в домашнем оборудовании и автомобилях. Это позволит сделать единую экосистему в рамках одного дома для одного человека, когда управление всеми техническими средствами возможно с одного устройства. Подобную схему активно внедряет Huawei через операционную систему Harmony.

Harmony OS

Это операционная система нового поколения от Huawei, построенная на микроядре с модульной архитектурой. В первую очередь она предназначена для работы на смартфонах. Полноценная разработка ОС началась в 2016 году, бета-тестирование прошло в 2020 году. Huawei отчасти вынужденно создавал и совершенствовал ее в качестве конкурента для Android. Вскоре сервисы Huawei Mobile Services будут предлагаться пользователям с собственным магазином приложений от Huawei — AppGallery.

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

картинка (75)

Статьи по теме:

Делимся ресурсами для поиска и подборкой возможностей для студентов в IT, которыми можно воспользоваться прямо сейчас

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

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

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

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

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

Android — свободный и открытый проект. Большинство исходного кода (который можно найти на https://source.android.com) распространяется под свободной лицензией 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), а собственная минималистичная реализация под названием bionic, оптимизированная для встраиваемых (embedded) систем — она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.

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

Эмулятор терминала на Android

Второй вариант — подключиться к 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, автоматически получают последние улучшения и исправления уязвимостей.

Стек технологий Android

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 данных, реализована в библиотеке libbinder.

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

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

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

Stub работает наоборот: он принимает входящие вызовы через libbinder, десериализует аргументы, вызывает абстрактную реализацию метода, сериализует возвращаемое значение и передаёт его процессу-клиенту. Соответственно, для реализации сервиса программисту достаточно реализовать абстрактные методы в унаследованном от Stub классе.

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

Для того, чтобы разные процессы могли «найти» сервисы друг друга, в Android есть специальный сервис ServiceManager, который хранит, регистрирует и выдаёт токены всех остальных сервисов.

Binder широко используется в Android для реализации системных сервисов (например, пакетного менеджера и буфера обмена), но детали этого скрыты от разработчика приложений высокоуровневыми классами в Android Framework, такими как Activity, Intent и Context. Приложения могут также использовать Binder для предоставления друг другу собственных сервисов — например, приложение Google Play Services вообще не имеет собственного графического интерфейса для пользователя, но предоставляет разработчикам других приложений возможность пользоваться сервисами Google Play.

Подробнее про Binder можно узнать по этим ссылкам:

  • Android Binder — Embedded Linux Wiki
  • Android Interface Definition Language, IBinder
  • Deep Dive into Android IPC/Binder Framework
  • Android Binder — Android Interprocess Communication
  • An Overview of Android Binder Framework
  • Binders & Window Tokens

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

Операционная система Android —

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

02 марта 2024

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

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

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

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

Android-devices

Как ей пользоваться, и для чего необходима операционная система Андроид

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

В процессе создания система была ориентирована на онлайн-службы Гугла. На смартфон с установленной ОС Андроид от производителя уже имеется предустановленный набор Gmail почты, браузера, поиска от Гугла, приложение социальной сети google+, новости, контакты, погода и навигатор.

Имеется возможность установить более семисот тысяч дополнительных приложений, которые можно выбрать самостоятельно, используя для этих целей магазин Google Play. В Google Play есть как платные, так и бесплатные приложения.

Пользоваться Андроид не сложно. Перед началом работы нужно подключиться к беспроводному интернету 3G или к wifi. Далее необходимо завести аккаунт Гугла. После этого все имеющие приложения станут доступными. ОС заточена для работы на сервисах от Гугла, но ее можно синхронизировать и с другими социальными сетями и почтовыми сервисами.

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

Виджеты

Вот основные из них

  1. Чтобы всегда быть на связи с близкими и друзьями можно использовать приложения популярных на сегодня социальных сетей. К ним относятся: Одноклассники, Facebook, ВКонтакте, Twitter, Google+.
  2. Имеется возможность облачного хранения необходимых файлов и получения к ним доступа из любого персонального или мобильного ПК.
  3. Если необходимо пополнить баланс интернета или телефона, купить билет на поезд или самолет, перевести определенную сумму денег, можно воспользоваться большим количеством приложений от платежных систем и банков. Например в Google Play, можно загрузить приложения для «Яндекс.Деньги», Русский Стандарт», Webmoney, Киви, «Альфа-Банк», «»ТКС Банк» или Home Credit Bank.
  4. Можно просто сориентироваться в чужом городе или построить поездку на автомобиле при помощи Google Maps или «Яндекс.Карт».
  5. Также можно заказать вызов такси.
  6. Имеется возможность установить такие полезные программы, как Skype или переводчик от Гугла.

Рассмотрим еще некоторые интересные возможности

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

Использование как флеш накопителя

Синхронизация имеющихся контактов

Для резервного копирования и синхронизации не нужно пользоваться сторонним программным обеспечением. Аккаунт Гугла — прекрасное место для хранения имеющихся контактов. Новый контакт будет автоматически добавлен в аккаунт Гугла.

Напомним, что специалисты «Serty-Service» готовы помочь,

если у вас возникли вопросы с системой Android.

История Android: от стартапа до самой популярной мобильной платформы в мире

Цифры, графики и факты к 15-летию выхода операционной системы

23 сентября 2008 года была представлена первая версия операционной системы Android OS. Спустя 15 лет она занимает свыше 70% мирового рынка ОС для смартфонов.

Выйти из полноэкранного режима

Развернуть на весь экран

Фото: Dado Ruvic / Illustration / Reuters

История компании Android Inc. началась в 2003 году. Четыре программиста — Рич Майнер, Ник Сирс, Крис Уайт и Энди Рубин — основали в калифорнийском Пало-Альто компанию по разработке программного обеспечения для цифровых фотокамер. Были созданы прототипы, но вскоре этот рынок пошел на спад. В Android Inc. решили переключиться на ПО для мобильных телефонов.

В 2005 году началась новая история Android Inc. Компанию за $50 млн купила Google. В 2010 году вице-президент Google Дэвид Лоуи заявил, что это лучшее приобретение, которое корпорация когда-либо совершала. Разработкой Android занимался Энди Рубин, другие основатели компании также продолжили работать в Google.

Изначально Android создавалась для кнопочных устройств, однако после выхода iPhone в 2007 году разработчики еще раз поменяли предназначение операционной системы.

Первая Android OS вышла в 2008 году только для смартфонов, третья — только для планшетов. В 2011 году с выходом Android 4.0 они объединились в единую универсальную систему. В 2015 году Android OS появилась на носимых устройствах (Wear OS). В дальнейшем операционная система вышла за рамки мобильных устройств — были созданы ее версии для автомобилей (Android Auto) и телевизоров (Android TV).

Ключевые особенности разных версий Android OS

Выйти из полноэкранного режима

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

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

В настоящее время операционная система Android установлена более чем на 3 млрд устройств во всем мире. Если смотреть на общую долю всех операционных систем (для ПК, мобильных и планшетов), то Android популярнее даже Windows — доля последней составляет 30,1%, в то время как доля Android — 39,2%. Популярность Android настолько велика, что Microsoft посчитала необходимым добавить поддержку Android-приложений в Windows 11 через Microsoft Store.

Google продолжает регулярно обновлять Android и менять дизайн операционной системы. Новая операционная система Android 14 (Upside Down Cake) должна выйти в октябре 2023 года.

Выйти из полноэкранного режима

Развернуть на весь экран

Исходный код Android бесплатен для производителей. Google зарабатывает на операционной системе с помощью входящих в ее экосистему сервисов. Основная выручка идет от магазина приложений Google Play: корпорация берет до 30% комиссионных за каждую покупку. В магазине также доступны рекламные возможности, благодаря которым разработчики могут продвигать свои продукты.

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

Выйти из полноэкранного режима

Развернуть на весь экран

Google никогда сама не разглашала, какую прибыль приносит Android отдельно от сервисов. Последние достоверные данные на этот счет относятся к 2016 году. Они были обнародованы во время судебного разбирательства по иску Oracle к Google о нарушении авторских прав на часть ПО Java при разработке Android. На тот момент с запуска общая выручка Google от Android составила $31 млрд, а чистая прибыль — $22 млрд.

  • Евгений Федуненко подписаться отписаться

Добавить комментарий

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