Перейти к содержимому

Linux и android что общего

  • автор:

Архитектура системы Android

Цель этого руководства — изучить системную архитектуру мобильной операционной системы Android. Это даст вам общее представление о различных уровнях Android и о том, как они связаны друг с другом. Мы также поговорим о том, как Android связан с самим Linux.

Ядро Linux

А Android действительно Linux?

Этот вопрос возникает часто. Многие пользователи не понимают, как Android и такая операционная система, как Ubuntu, могут считаться Linux. В конце концов, они выглядят и функционируют совершенно по-разному.

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

Ubuntu и другие распространенные дистрибутивы для настольных компьютеров обычно называют GNU/Linux, поскольку они содержат очень много программного обеспечения GNU. Android избегает этого различия, поскольку Google написала свои собственные библиотеки и приложения для работы с ядром Linux. В результате на телефонах половины мира установлена операционная система Android.

Как Android использует Linux?

Ядро Linux обеспечивает аппаратный уровень абстракции для Android. Это позволяет портировать Android на множество различных устройств. Кроме того, ядро Linux используется для управления памятью Android, управления процессами, сетью и другими службами операционной системы. Основные функции, такие как поддержка Wi-Fi и Bluetooth, предоставляются ядром Linux.

Помните: в основе каждого устройства Android лежит ядро Linux.

Родные библиотеки

Программам (или приложениям, как их называет Android) и системным службам для правильной работы требуются библиотеки. Эти библиотеки могут использоваться многими различными приложениями и службами. Вы можете думать об этом как о наборе инструкций, которые обеспечивают возможность запуска множества различных функций в операционной системе. Эти общие библиотеки предварительно установлены на устройстве Android каждым поставщиком. Они написаны на языке C/C++ и поддерживают 3D- и 2D-графику, оконный менеджер, всевозможные форматы аудио-видео, базу данных Sqllite и т. д.

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

Android-среда выполнения

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

Наряду с собственной средой выполнения Google на этом уровне есть несколько основных библиотек Java. Среда выполнения Java использует OpenJDK. Имеется JIT-компилятор, который обеспечивает стабильную работу приложений и экономию места для хранения.

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

Платформа приложений

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

Приложения и виджеты

Наконец, мы достигаем самого высокого уровня архитектуры системы Android. Это то, с чем все конечные пользователи хорошо знакомы — сами приложения и виджеты. Как вы, вероятно, догадались, этот уровень принимает входные данные от конечного пользователя и выполняет код на основе этих входных данных для достижения желаемого результата.

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

Заключительные мысли

Надеемся, что это руководство дало вам четкое представление о том, как устроена операционная система Android. Мы также постарались выделить основные различия между Android и типичным дистрибутивом Linux для настольных компьютеров, поскольку у многих пользователей это вызывает путаницу. Как конечный пользователь, единственный уровень, о котором вы когда-либо будете беспокоиться, — это уровень приложения. Разработчики приложений также будут взаимодействовать с уровнем инфраструктуры приложения. Помимо этого, обо всем остальном должны позаботиться Google и разработчики ядра Linux.

Все права защищены. © Linux-Console.net • 2019-2023

А вы знали, что в основе ОС 85% смартфонов лежит Linux?

По факту на рынке смартфонов доминирующее положение занимают именно устройства на базе Linux. Некоторые от такого заявления призадумаются, другие же преисполнятся гордостью за Linux в стиле The Sound of Music – The Hills are Alive. Далее я приведу интересные факты, подтверждающие, что в основе 85% смартфонов действительно лежит ядро Linux, а также представлю ряд многообещающих новинок этого рынка.

Нередко в ходе общения с профессионалами вне рабочего пространства меня спрашивают: «Чем ты занимаешься?». Когда я отвечаю, что работаю системным аналитиком Linux, многие реагируют так: «А мне не особо нравится Linux, потому что в нем нельзя открывать или редактировать документы Word»* или «Ты имеешь ввиду ОС для настольных ПК, в которой все в виде текста, и отсутствует графический интерфейс?»** и даже так «Linux? Это что?». В ответ я обычно строю ехидную гримасу с вопросом…«А вы в курсе, что сами прямо сейчас используете смартфон, работающий на Linux?».

Да, на самом деле, как многие из вас знают, в основе дистрибутивов Android и Chrome OS изначально лежит ядро Linux.

Android-смартфоны работают на Linux

Как заявляют сами разработчики Google: «Android построен на открытом Linux Kernel» (ссылка содержит видео). Начиная с Android 11, эта ОС базируется на LTS-ядре (ядро с долгосрочной поддержкой) Linux, а именно его версиях 4.19 и 5.4.

Говоря конкретнее: «С 2019 года при каждом размещении Линусом Торвальдсом очередного релиза или пре-релиза главная ветка Linux сливается с главной веткой Android. До 2019 года ядра Android собирались путем клонирования свежего LTS-ядра и добавления в него Android-патчей. Новая модель взаимодействия позволяет избежать существенных усилий по переадресации портов и тестированию патчей Android, реализуя все это пошагово». — source.android.com

Есть очень информативное видео (правда в 240p), раскрывающее строение архитектуры Android, в котором инженер Google объясняет, что при использовании в основе Android архитектура ядра Linux дорабатывается. Есть и более свежее видео в лучшем качестве, которое отвечает на вопрос: «Действительно ли Android – это, по сути, Linux?». Глава подразделения открытых проектов Google, Крис ДиБона, описывает Android так: «Десктопная мечта Linux, ставшая реальностью».

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

Исследования рынка

В ноябре 2020 года компания IDC опубликовала исследование, которое показало, что системы Android занимают лидирующее положение на рынке смартфонов. Согласно собранным данным, в течение последнего квартала было продано около 261.1 миллионов устройств, 85% из которых на базе Android.

По информации Gartner и Statista эта платформа на данный момент занимает 86% мирового рынка. Взгляните на график ниже, демонстрирующий двух основных игроков индустрии – Android и Apple iOS.

Многообещающие смартфоны на базе Linux

Если вас интересуют смартфоны на ядре Linux, то советую присмотреться к описываемым далее моделям, а также сопутствующему ПО.

Librem 5 – безопасность и конфиденциальность

Purism, известная по разработке ноутбуков с Linux, фокусирующихся на конфиденциальности и бесплатном ПО, успешно провела краудфандинговую кампанию для создания нового смартфона Librem 5. При этом разработчикам удалось собрать на 1 миллион долларов больше, чем планировалось.

Смартфон Librem 5 основан на Debian Linux и по умолчанию оснащен механическими выключателями оборудования, гарантирующими безопасность и конфиденциальность использования. В качестве операционной системы используется GNU/Linux с поддержкой бесплатного ПО. — puri.sm

Pinephone – власть пользователям

PinePhone – это смартфон от компании Pine64, разработавшей Pinebook Pro. Основной замысел состоит в предоставлении пользователю полного контроля над устройством. Обеспечивается это за счет использования мобильных ОС на базе стандартной Linux и оснащения корпуса 6 выключателями элементов оборудования, доступными под задней крышкой. В добавок к этому, конструкция собирается на винтах, что упрощает последующий ремонт и апгрейд. — pine64.org

F(x)tec Pro¹ – обладатель полноценной QWERTY клавиатуры

Pro1 – это сенсорный смартфон с выдвижной горизонтальной клавиатурой. Он разработан и производится компанией F(x)tec, базирующейся в Лондоне. Это устройство представляет собой более совершенную альтернативу клавиатуре Moto Mod Livermorium. На данный момент сообщество Pro1 уже помогло в разработке ОС на базе Linux, и вскоре также планируется поддержка Sailfish. – fxtec.com

Ubuntu Touch для смартфонов и планшетов

Ubuntu Touch (ранее Ubuntu Phone) – это мобильная версия ОС Ubuntu, изначально разработанная компанией Canonical Ltd. Сейчас ее разработкой занимается сообщество UBports. Спроектирована она главным образом для сенсорных мобильных устройств, а именно смартфонов и планшетов. Эта платформа полностью независима и поддерживается исключительно сообществом.

Вот список устройств, находящихся на разной стадии поддержки этой ОС, в который также входит Fairphone 3. Более зрелые устройства позволяют удобную установку системы с помощью UBports. Для тех же, что находятся на ранней стадии поддержки, обычно установка делается вручную. – ubuntu-touch.io

Plasma Mobile – от создателей KDE Plasma

Plasma Mobile – это вариант Plasma для смартфонов. На данный момент она доступна для Nexus 5 и Nexus 5x, а также PinePhone и устройств, поддерживаемых postmarketOS. Работает Plasma Mobile на протоколе Wayland и при этом совместима с приложениями Ubuntu Touch. 1 декабря 2020 года KDE совместно с Pine64 анонсировали возможность предзаказа PinePhone – KDE Community Edition. – plasma-mobile.org

А какое ядро в вашем Android?

Для получения расширенного доступа к Linux потребуются рут-права, но ради чисто спортивного интереса предлагаю просто заглянуть в стандартную систему Android, чтобы узнать, какая у вас установлена версия Linux Kernel. В большинстве Android-смартфонов ее можно посмотреть в разделе Настройки –> Об устройстве (иногда нужно нажать на версию Android).

Если же рут-права у вас есть, то обычно можно установить “Termux”, после чего запустить его и ввести uname -a

В ответ команда вернет примерно такой вывод (на устройстве OnePlus):

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

Заключение

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

Надеюсь, что перечисленным в статье смартфонам удастся занять на рынке весомую долю. К другим приметным карманным устройствам на Linux можно отнести NecunOS NE_1, Fenniy, Cosmo Communicator и Volla Phone.

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

Сноски

* По факту Linux поддерживает просмотр и редактирование файлов Word, таблиц Excel и прочих, причем не только на настольных ПК, но также на планшетах и смартфонах.
** Для Linux есть гораздо больше вариантов графического интерфейса, чем для любой другой операционной системы. К примеру, Gnome, KDE, Xfce и многие-многие другие.

  • Блог компании RUVDS.com
  • Разработка под Linux
  • Аналитика мобильных приложений
  • Гаджеты

Android – это Linux? Сравнение Android и Linux

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

Оглавление:

  1. Что такое Linux?
  2. Что такое Android?
  3. Android и ядро Linux
  4. Почему Android не является Linux?
    • Android не использует стандартное ядро Linux
    • Android не содержит ПО и библиотек GNU
    • Вы не можете запускать приложения Linux на Android и наоборот
    • Android — это продукт Google
    • Дебаты по поводу статуса Android как «ОС с открытым исходным кодом»
    • Отсутствие возможности кастомизации Android
  5. Краткий экскурс в операционные системы
  6. Различия между Android и Linux
  7. Заключение

Что такое Linux?

Когда кто-то произносит слово «Linux», он может иметь в виду:

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

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

GNU/Linux. Большинство дистрибутивов Linux представляют собой сочетание ядра Linux и программного обеспечения GNU, что заставило некоторых людей утверждать, что мы все должны называть дистрибутивы Linux термином «GNU/Linux».

Что такое Android?

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

Хотя вокруг термина «Android» и близко нет такой путаницы, как в случае с «Linux», все же существуют две различные разновидности операционной системы Android:

Проект Android с открытым исходным кодом (сокр. «AOSP» от англ. «Android Open Source Project»), в котором Google предоставляет пользователям исходный код Android. Хотя данный исходный код действительно можно использовать для создания функционирующей операционной системы, установив её на смартфон или планшет, мы не получим того функционала, которое большинство пользователей имеют от своего текущего Android-устройства; в первую очередь это касается мобильных сервисов Google (сокр. «GMS» от англ. «Google Mobile Services»).

AOSP с добавлением значительного количества проприетарного кода от производителя смартфона или планшета (например, GMS от Google или TouchWiz от Samsung). Операционная система Android, которая присутствует на вашем смартфоне или планшете, по своей сути является данной разновидностью Android.

Большинство аргументов «за» или «против» классификации Android как Linux применимы к обеим версиям Android, но есть несколько случаев, когда ответ зависит от того, определяете ли вы Android как AOSP или как операционную систему, которая поставляется с вашим смартфоном или планшетом Android.

Android и ядро Linux

На самом деле есть только один аргумент в пользу классификации Android как Linux: каждый смартфон или планшет с ОС Android содержит ядро Linux. Вы даже можете увидеть, какая версия ядра установлена на вашем устройстве, открыв «Настройки» и перейдя в раздел «Система» > «О телефоне» > «Сведения о ПО»:

Однако Android — это не просто ядро Linux; это полностью функционирующая операционная система, которая содержит дополнительные библиотеки, графический интерфейс, приложения и многое другое. Следовательно, стоит уточнить наш вопрос: «Является ли Android дистрибутивом Linux?».

Почему Android не является Linux?

Android не использует стандартное ядро Linux

Чтобы создать операционную систему, отвечающую уникальным потребностям мобильных устройств, команда Android внесла ряд изменений в ядро Linux, включая добавление специализированных библиотек, API и утилит, которые по большей части являются производными от операционных систем семейства BSD или написаны с нуля, специально для Android.

Ядро Linux выпущено под лицензией GNU GPL v2.0, поэтому любой может свободно изменять его исходный код, что и делают многие дистрибутивы Linux. Когда дело доходит до вопроса о том, насколько радикально команда Android изменила ядро Linux, Embedded Linux wiki приходит к выводу, что количество изменений, внесенных командой Android, «не очень велико и соответствует порядку изменений, которые обычно вносятся в ядро Linux разработчиками ПО для встраиваемых систем».

Android не содержит ПО и библиотек GNU

Если вы согласны с тем, что программное обеспечение GNU является определяющей характеристикой дистрибутива Linux до такой степени, что мы все должны называть дистрибутивы Linux термином «GNU/Linux», то Android никоим образом не может быть дистрибутивом Linux. Android включает в себя очень мало программного обеспечения GNU. В частности, команда Android, вместо того, чтобы использовать библиотеку GNU C (glibc), разработала кастомную библиотеку под названием Bionic.

Даже если вы не согласны с тем, что дистрибутив Linux должен включать программное обеспечение GNU, все равно нельзя отрицать тот факт, что отсутствие GNU сильно отличает Android от большинства дистрибутивов Linux.

Вы не можете запускать приложения Linux на Android и наоборот

Если бы вы наугад выбрали несколько разных дистрибутивов Linux, то, скорее всего, единственным общим программным компонентом у них было бы ядро Linux. По факту, Android имеет так мало общего с другими дистрибутивами Linux, что на нем невозможно запускать обычные приложения Linux.

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

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

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

Примечание: BlueStacks и другие эмуляторы приложений для Android пытаются сделать это для Windows и macOS. Они запускают Android на виртуальной машине, что позволяет им запускать приложения для Android (со снижением производительности) на рабочем столе. Однако эти решения оказались не очень популярными.

Android — это продукт Google

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

Кроме того, хотя разработчики, не являющиеся сотрудниками Google, могут вносить свой вклад в AOSP в различных объемах, официальный сайт AOSP четко указывает, что руководители проектов, как правило, являются сотрудниками Google. Еще один нюанс заключается в том, что Google владеет правами на название и логотип Android, поэтому, даже если вы создадите операционную систему на основе кода AOSP, вам все равно потребуется связаться с Google, если вы захотите опубликовать свою работу, включив в её название часть «Android».

В то время как некоторые дистрибутивы Linux действительно имеют тесные связи с определенной компанией (например, Canonical и Ubuntu или Red Hat и Fedora), для большинства дистрибутивов Linux необычно, чтобы разработка велась в частном порядке только одной организацией.

Дебаты по поводу статуса Android как «ОС с открытым исходным кодом»

Несмотря на рекомендации Фонда свободного программного обеспечения (сокр. «FSF» от англ. «Free Software Foundation») разработчикам удалить всё несвободное программное обеспечение из своих дистрибутивов Linux, нет строгого правила, согласно которому дистрибутивам Linux запрещено содержать несвободное (проприетарное) программное обеспечение. В реальности многие дистрибутивы включают скомпилированные вендором двоичные файлы драйверов, также известные как BLOB-объекты, поэтому возникает вопрос: «Насколько открыт Android по сравнению с «типичным» дистрибутивом Linux?».

Хотя многие почитатели ПО с открытым исходным кодом согласились бы с тем, что AOSP далек от идеального проекта с открытым исходным кодом, его код свободно доступен для изменения и распространения другими людьми.

Однако прежде чем базовая версия AOSP станет полноценным Android, в нее добавится большое количество проприетарного кода, и это верно независимо от того, выбираете ли вы устройство с «чистым Android» (Nexus или Pixel) или устройство с модификациями производителя.

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

Отсутствие возможности кастомизации Android

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

Краткий экскурс в операционные системы

Операционные системы позволяют взаимодействовать пользователю с аппаратной частью компьютера с помощью прикладного программного обеспечения.

Основные функции типичной современной операционной системы:

Управление памятью и контроль её использования приложениями.

Управление использованием вычислительной мощности приложениями.

Управление файловыми системами и жесткими дисками (HDD и SSD).

Предоставление интерфейса для создания драйверов устройств (чтобы иметь возможность добавлять в систему новое оборудование).

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

Работа служб, запускающих такие приложения, как: HTTP-серверы, FTP-серверы, SSH-серверы, SQL-серверы и т.д.

Для выполнения вышеуказанных функций в операционной системе, обычно, выделяют следующие основные части:

Ядро — состоит из планировщика, менеджера ресурсов и предварительно загруженных драйверов оборудования.

Слой аппаратных абстракций (сокр. «HAL» от англ. «Hardware Abstraction Layer») — слой абстрагирования, реализованный в программном обеспечении, позволяющий взаимодействовать инструкциям высокоуровневых языков программирования с аппаратным обеспечением.

Графический интерфейс пользователя (сокр. «GUI» от англ. «Graphical User Interface») — система средств, позволяющая пользователю взаимодействовать с программным и аппаратным обеспечением компьютера.

Утилиты, библиотеки и фреймворки, которые совместно используются всеми службами и приложениями.

Службы и приложения конечных пользователей.

Вышеперечисленные части можно условно разделить на 2 области, в которых они работают:

Пространство пользователя (или «пользовательское пространство») — вытесняемые части оперативной памяти, в которой работают обычные программы, библиотеки, службы и приложения конечных пользователей.

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

Примечание: Графический интерфейс пользователя, в зависимости от архитектуры операционной системы, может принадлежать либо пользовательскому пространству (как в Linux), либо пространству ядра (как в Windows).

Различия между Android и Linux

Рассмотрим общие различия между Android и Linux:

Android Linux
Тип ПО Операционная система. Ядро.
Канал передачи данных Оптимизировано под сотовые сети. Оптимизировано под Ethernet и Wi-Fi.
Причины создания Сделать мобильные устройства «умными», конкуренция с iOS. Исследовательские цели в области разработки ПО, а также желание создать свободное программное обеспечение с открытым исходным кодом.
Способ монетизации Продвижение продуктов Google, ежемесячная оплата сервисов и комиссионные вознаграждения от продажи приложений/фильмов/книг и пр. в Google Play. Большинство дистрибутивов поддерживаются сообществом и некоммерческими организациями. Основным источником дохода коммерческих организаций является платная техническая поддержка для корпоративных клиентов.
Тип лицензии Apache License. GNU GPL v2.0.
Основной тип устройств Смартфоны, планшеты. Персональные компьютеры и серверы.
Простота использования Прост в использовании. Сложность варьируется в зависимости от выбранного дистрибутива. Но стоит отметить, что изначальная сложность в разы больше сложности использования Android.
Разработчик и поддержка Google. Коммерческие и некоммерческие компании и организации, сообщества разработчиков-энтузиастов по всему миру.

А теперь рассмотрим технические различия между Android и Linux:

Android Linux
Архитектура процессора ARM. x86 и x64.
Пространство пользователя Android Runtime (модифицированный Java Runtime Environment) и библиотеки Core. Преимущественно GNU и X Window System.
Оптимизация ядра Оптимизировано на пониженное энергопотребление. Баланс между производительностью и энергопотреблением.
Доступ к терминалу (shell) Обычно заблокирован, необходимо получить доступ к root, чтобы иметь возможность взаимодействовать с терминалом. Доступно «из коробки», так как терминал является чрезвычайно важной частью Linux-дистрибутивов.
Основа GUI Google SurfaceFlinger поверх OpenGL. Большинство дистрибутивов используют GUI на основе X Window System.
Основные архитектурные элементы Только ядро, HAL и отличное от GNU пользовательское пространство, и собственное окружение рабочего стола. Ядро, HAL, пользовательское пространство GNU (приложения) и слой пользовательского интерфейса (окружение рабочего стола).
Драйверы оборудования Почти все драйверы являются проприетарными. Большинство драйверов поставляются с открытым исходным кодом.
Загрузчик Простой загрузчик, который выполняет необходимый минимум и передает управление ядру. Стандартизированные загрузчики, подобно GRUB2, с возможность кастомизации.
BIOS/EFI Отсутствует на устройствах ARM. Стандарт для всех материнских плат x86/x64.
Библиотека C Облегченный вариант стандартной библиотеки — Bionic. Библиотека GNU C (glibc).

Заключение

Итак, возвращаясь к нашему первоначальному вопросу: «Является ли Android дистрибутивом Linux?». В конечном счете всё зависит от того, что вы вкладываете в это понятие. Если вы согласны с тем, что мы все должны называть дистрибутивы Linux термином «GNU/Linux», а не «Linux», то ответ отрицательный, поскольку Android включает в себя очень мало программного обеспечения GNU.

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

Однако, если для вас дистрибутив Linux — это операционная система, основанная на ядре Linux, то Android является дистрибутивом Linux. Это может быть необычный, узкоспециализированный дистрибутив, но это такой же дистрибутив, как Ubuntu, Fedora, Debian и любая другая операционная система, основанная на ядре Linux.

В чем разница между Linux и Android

Монитор Dell UltraSharp U4025QW поддерживает Thunderbolt 4 и частоту обновления 120 Гц

Favorite

Добавить в избранное

В чем разница между Linux и Android

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

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

Сайт networkcenter.ru . Инструкции и лайфаки для людей. Статьи о гаджетах, программах, железе, авторские статьи.

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

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

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

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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