Андроид это линукс или нет
Android, может быть, базируется на Linux, но он не базируется на том типе системы Linux, которую вы, вероятно, используете на вашем персональном компьютере. Вы не можете запускать приложения Android в типичных дистрибутивах Linux и вы не можете запускать программы Linux, с которыми вы знакомы, в системе Android.
Linux составляет ядро Android, но Google не добавил все типичное программное обеспечение и библиотеки, которые вы можете найти в дистрибутиве Linux, таком как Ubuntu. В этом все различия.
Сравниваем «Linux» и ядро Linux
Большая разница здесь сводится к тому, что мы подразумеваем под Linux. Люди используют термин «Linux» для обозначения многих различных вещей. По своей сути, Linux означает ядро Linux. Ядро является основной частью любой операционной системы.
Мы также ссылаемся на дистрибутивы Linux как просто «Linux». Тем не менее, дистрибутивы состоят не только из ядра Linux. Они содержат много других частей программного обеспечения, таких как утилиты командной оболочки GNU, графический сервер Xorg, рабочий стол GNOME, веб-браузер Firefox и так далее. Вот почему некоторые люди считают, что для «дистрибутивов», таких как Ubuntu, Mint, Debian, Fedora, Arch, OpenSUSE и другие, следует использовать термин GNU/Linux.
Android под капотом использует ядро Linux. Поскольку Linux имеет открытый исходный код, разработчики Android из компании Google имели возможность модифицировать ядро Linux под свои нужды. Linux предоставляет разработчикам Android для начала предварительно собранное и уже поддерживаемое ядро операционной системы с тем, чтобы им не нужно было писать свое собственное ядро. Это тот метот, с помощью которого было построено много различных устройств, например, в PlayStation 4 используется ядро FreeBSD с открытым исходным кодом, тогда как в Xbox Один использует ядро Windows NT, которое можно найти в современных версиях Windows.
Различия
Существует некоторая дискуссия по поводу того, можно ли квалифицировать Android как «дистрибутив Linux». В нем используется ядро Linux и другое программное обеспечение, но в него не входит большая часть программного обеспечения, которое обычно входит в Linux дистрибутивы.
Когда вы загружаете устройство с Android, ядро Linux загружается так же, как это было бы в дистрибутиве. Тем не менее, большая часть остального программного обеспечения различается. В Android не входит библиотека GNU C Library (glibc), используемая в стандартных дистрибутивах Linux, а также не входят все те библиотеки GNU, которые вы обнаружите в типичном дистрибутиве Linux. В нем также сервера X, например, Xorg, так что вы не сможете запустить стандартные графические приложения Linux.
Вместо того, чтобы запускать типичные приложения Linux, Android использует виртуальную машину Dalvik исключительно для того, чтобы запускать приложения, написанные на языке Java. Эти приложения ориентированы на устройства Android и интерфейсы прикладного программирования (API), которые представлены в Android, а не на Linux в целом.
Почему не удастся запустить в Android приложение, предназначенное для настольного компьютера с Linux
Поскольку в состав Android не входит графический X-сервер или все стандартные библиотеки GNU, вы не сможете просто запускать приложения Linux на Android. Вы должны запускать приложения, написанные специально для Android.
В Android есть командная оболочка, похожая на ту, что вы найдете на Linux. Но «прямо из коробки» нет способа получить к ней доступ, но вы можете установить приложение, например, Android Terminal Emulator, для того, чтобы получить доступ к этой терминальной среде.
Здесь, по умолчанию, вы не сможете сделать слишком многого. Терминал будет работать в ограниченной среде, поэтому вы не сможете получить полный доступ к корню системы без того, чтобы не выполнить рутование вашего устройства Android (прим.пер.: получить права доступа суперпользователя root). Многие стандартные команды, которые вам, возможно, потребуются, не доступны - вот почему те, кто выполнил рутование своих устройств в целом, устанавливают приложение BusyBox, устанавливающее много утилит командной строки. Эти утилиты используются приложениями, которым нужно что-либо делать с правами суперпользователя.
Почему не удастся запустить программное обеспечение для Android на настольном компьютере с Linux
Для ОС Windows и Mac была попытка сделать это с помощью эмулятора BlueStacks и других приложений Android. Они запускают Android в виртуальной среде на виртуальной машине, что позволяет им запускать приложения Android на рабочем столе с большой потерей производительности. Но эти решения оказались не очень популярными.
ОС Chrome, созданная Google, также базируется на Linux. Как и Android, ОС Chrome не предоставляет стандартную оконную систему X, поэтому стандартные приложения Linux не могут работать на ОС Chrome. В отличие от Android, ОС Chrome ближе к стандартным дистрибутивам Linux для настольных компьютеров, поэтому вы можете использовать режим разработчика для того, чтобы установить недостающее программное обеспечение, предназначенное для настольного Linux.
Android – это Linux? Казалось бы, это тот вопрос, на который должен существовать прямой ответ – да или нет. Но вместо этого сообщества пользователей Android и Linux годами обсуждают, как обстоят дела на самом деле, и не могут прийти к согласию.
Есть два фактора, которые делают особенно сложным поиск четкого ответа на вопрос, являются ли Android и Linux одним и тем же.
- Люди часто используют слово Linux для обозначения определенного числа связанных между собой, но однозначно разных вещей.
- Нет четкого, однозначного и повсеместно принятого определения, что позволяет считать то или иное ПО Linux.
Задача этого материала – прояснить, почему возникает путаница вокруг различных типов ПО, которое люди могут иметь в виду, используя слово Linux, а затем обговорить все аргументы, которые неизбежно приводятся в любом споре на тему «Android – это Linux или нет».
Так что же такое Linux?
Когда кто-то говорит «Linux», это может относиться к следующим вещам:
В свою очередь, вокруг термина Android нет такой путаницы. Есть, тем не менее, два вида ОС Android.
Первый – это Android Open Source Project (AOSP), проект, в рамках которого Google предоставляет доступ к исходному коду Android. Этот код можно использовать для того, чтобы создать рабочую операционную систему, которую можно установить на смартфон или планшет, но в итоге ей будет не хватать функциональности, которую большая часть пользователей ожидают получить от своего опыта взаимодействия с Android, наиболее характерный пример – это мобильные сервисы Google. Это набор приложений и API от Google, которые для большого числа пользователей являются основной частью опыта работы с Android, аналогично тому, как iTunes и App Store являются основной частью опыта на macOS. AOSP имеет открытый исходный код, но не обеспечивает тех возможностей, которых ожидает типичный конечный пользователь устройства, работающего на ОС Android.
Второй вариант – это ОС Android, на которой работает ваше типичное устройство, будь то смартфон или планшет, по сути, она основана на AOSP, возможно, имеет ряд модификаций, привнесенных производителем устройства, а также в нее добавлено значительное количество проприетарного кода.
Большая часть аргументов за и против того, чтобы расценивать Android как Linux, относится к обоим вариантам Android, но есть ряд пунктов, в которых ответ будет различаться. И это будет зависеть от того, определяем ли мы Android как AOSP или как операционную систему, на которой работает ваш обычный смартфон или планшет.
Почему Android – Linux?
Существует всего лишь один реальный аргумент в пользу того, чтобы расценивать Android как Linux, но это серьезный аргумент. Каждый смартфон или планшет на Android содержит ядро Linux. Вы даже можете увидеть, какая версия ядра установлена на вашем устройстве. Для этого надо зайти в Настройки – Об устройстве – Версия ядра.
Тем не менее, Android – это не только ядро Linux. Это полнофункциональная операционная система, в которой имеются множество дополнительных библиотек, графический интерфейс, приложения и многое другое. Поэтому когда мы задаем вопрос «Android – это Linux?», мы на самом деле спрашиваем «Является ли Android дистрибутивом Linux?»
Поскольку даже оценить реальное количество дистрибутивов Linux не представляется возможным, тем более сложно написать список правил, позволяющих определить, что делает операционную систему дистрибутивом Linux.
Помимо обязательного условия наличия ядра Linux, определение дистрибутива Linux допускает достаточно свободную интерпретацию. Поэтому оставшаяся часть материала будет посвящена аргументам, которые люди чаще всего приводят против того, чтобы расценивать Android как дистрибутив Linux.
Почему Android – не Linux?
Он не использует стандартное ядро Linux
Для того, чтобы создать операционную систему, которая отвечает уникальным потребностям мобильных устройств, команда разработчиков Android внесла в ядро Linux рад изменений, включая добавление специализированных библиотек, API и инструментов, которые по большей частью взяты из BSD или написаны с нуля специально для Android.
Поскольку основной аргумент в пользу того, чтобы расценивать Android как дистрибутив Linux, базируется на том факте, что Android использует ядро Linux, может показаться, что тут и всяким спорам конец, все и так вполне очевидно. Однако для дистрибутива Linux не является обычным делом внесение изменений в ядро.
Ядро Linux подпадает под действие Универсальной общественной лицензии GNU, каждый волен как хочет изменять его исходный код, что и делается во многих дистрибутивах Linux. Если говорить о том, насколько значительным изменениям подвергла команда разработчиков Android ядро Linux, в Embedded Linux wiki приходят к заключению, что количество изменений, внесенных командой Android, «не особенно велико и не выходит за рамки того, что обычно делают с ядром Linux разработчики ОС на его базе».
Android не включает в себя ПО GNU и библиотеки
Если вы согласны с тем, что наличие ПО GNU является определяющей характеристикой для дистрибутива Linux вплоть до того, что мы должны расценивать дистрибутивы Linux как GNU/Linux, тогда Android ни в коем случае не может быть дистрибутивом Linux. Android включает в себя лишь некоторые системные библиотеки GNU. Из самого заметного – команда разработчиков Android разработала кастомизированную C-библиотеку под названием Bionic вместо того, чтобы использовать C-библиотеку GNU.
И даже если вы не согласны с тем, что дистрибутив Linux должен включать в себя ПО GNU, трудно отрицать, что отсутствие GNU делает Android очень отличным от большей части представителей сообщества дистрибутивов Linux.
Вы не можете запускать приложения Linux на Android – и наоборот
Если вы возьмете несколько выбранных случайным образом дистрибутивов Linux, есть шанс, что единственным общим программным компонентом у них у всех будет ядро Linux. В реальности у Android так мало общего ПО с другими дистрибутивами Linux, что запускать обычные приложения Linux на Android невозможно.
Верно и обратное утверждение. Приложения для Android требуют специальных библиотек Android, среды выполнения и ряда других программ, которые есть только в ОС Android, так что по умолчанию вы не можете запускать приложения для Android на какой-то другой платформе, кроме Android.
Android – это продукт Google
Google может сделать основной исходный код Android общедоступным через AOSP, но следующий релиз AOSP готовить в закрытую. На самом деле, на сайте AOSP ясно утверждается, что «Google оставляет за собой ответственность за стратегическое направление развития Android как платформы и как продукта».
Вдобавок к этому, не задействованные в Google разработчики могут участвовать в AOSP на различных ролях, но сайт AOSP совершенно четко говорит, что руководят проектом обычно сотрудники Google. И еще один маленький факт: Google принадлежат права на имя и логотип Android, так что если вы создаете операционную систему, основанную на коде AOSP, вам потребуется связаться с Google, если вы хотите выпустить свою работу под именем Android.
Несмотря на то, что некоторые дистрибутивы Linux тесно связаны с конкретными компаниями (на ум тут же приходят Canonical и Ubuntu), для дистрибутивов Linux нехарактерно разрабатываться в закрытую и полностью одной организацией.
«Открытый» статус Android под вопросом
Несмотря на рекомендацию Фонда свободного программного обеспечения, предписывающую разработчикам убрать все проприетарное программное обеспечение из их дистрибутивов Linux, нет строгого правила, которое бы запрещало дистрибутивам Linux содержать проприетарное ПО. В реальности многие дистрибутивы включают в себя скомпилированные бинарные драйверы, известные также как блобы. Поэтому на самом деле вопрос стоит так: насколько открыт Android в сравнении с вашим типичным дистрибутивом Linux?
Несмотря на то, что многие энтузиасты ПО с открытым кодом единодушны в том, что AOSP далек от идеального open source проекта, его код бесплатно доступен для изменения и распространения другими людьми.
Тем не менее, к моменту, когда AOSP доходит до пользователя Android, к нему добавляется большое количество проприетарного кода, и, в сущности, нет большой разницы между тем, что вы расцениваете как «чистый Android» на устройствах вроде Nexus или Pixel, и тем, что претерпело модификации, сделанные производителем.
Это не обязательно означает, что Android невозможно расценивать как дистрибутив Linux, но нельзя не отметить, что большая часть кода, который пользователи могут видеть и с которым могут взаимодействовать, является проприетарной, таковы мобильные сервисы Google и модификации производителя, как, например, TouchWiz от Samsung.
Несмотря на то, что многие дистрибутивы Linux включают в себя проприетарный код, для многих людей термин Linux четко ассоциируется с программным обеспечением с открытым кодом. И этот проприетарный пользовательский код вызывает ощущение, что Android гораздо более закрыт, чем типичный дистрибутив Linux.
Вы не можете кастомизировать ОС Android – по умолчанию
Если дистрибутив Linux как правило достаточно просто модифицировать на уровне операционной системы, пользователи Android по умолчанию не могут получить доступ к базовой ОС на своем смартфоне или планшете. Чувствительные разделы надежно защищены от их вмешательства. Но эта оговорка «по умолчанию» имеет значение, поскольку вы можете получить доступ к разделам, обычно закрытым на вашем устройстве, используя дыры в безопасности Android – это процесс получения рут-прав.
Итак, несмотря на то, что Android значительно меньше подвержен кастомизации, чем типичный дистрибутив Linux, существуют возможности получить доступ к базовой операционной системе.
Заключение
Итак, возвращаемся к исходному вопросу: является ли Android дистрибутивом Linux? В целом, все сводится к тому, что вы подразумеваете под дистрибутивом 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.
А каково ваше мнение? Является ли Android дистрибутивом Linux просто по причине наличия в нем ядра Linux? Или операционная система должна соответствовать ряду дополнительных критериев, чтобы можно было считать ее дистрибутивом 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.
Есть очень информативное видео (правда в 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 – власть пользователям
F(x)tec Pro¹ – обладатель полноценной QWERTY клавиатуры
Ubuntu Touch для смартфонов и планшетов
Ubuntu Touch (ранее Ubuntu Phone) – это мобильная версия ОС Ubuntu, изначально разработанная компанией Canonical Ltd. Сейчас ее разработкой занимается сообщество UBports. Спроектирована она главным образом для сенсорных мобильных устройств, а именно смартфонов и планшетов. Эта платформа полностью независима и поддерживается исключительно сообществом.
Вот список устройств, находящихся на разной стадии поддержки этой ОС, в который также входит Fairphone 3. Более зрелые устройства позволяют удобную установку системы с помощью UBports. Для тех же, что находятся на ранней стадии поддержки, обычно установка делается вручную. – ubuntu-touch.io
Plasma Mobile – от создателей KDE Plasma
А какое ядро в вашем 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 и многие-многие другие.
Является ли Android Линуксом. На эту тему в Сети дискутируют годами. Начну с главного, общепринятого определения того, что делает ОС Линуксом нет. Linux — не бренд, который принадлежит определенной компании, которая могла бы определять условия и термины.
В терминах нет ясности
Когда говорят о Линуксе, разные люди могут иметь в виду разные вещи.
Прежде всего ядро. Небольшая, но важная часть ОС. Отвечает за взаимодействие с оборудованием устройства и предоставление сервисов остальной части системы. Управляет процессором и памятью. Ядро Linux, как и ядро любой ОС, работает не само по себе, а только как составляющая цельной системы.
Дистрибутивом называют операционную систему, которая содержит ядро Linux и дополнительное ПО: утилиты, библиотеки, графический интерфейс, предустановленные приложения. Дистрибутив также называют операционной системой. Поэтому Линукс — не одна ОС, а семейство систем, сильно различающихся между собой.
Каждый может использовать ядро Linux, добавить собственное ПО и создать полноценную ОС. Большинство дистрибутивов относятся к GNU/Linux, являясь сочетанием ядра Linux и программного обеспечения GNU.
Три составляющие популярнейшей мобильной ОС
Удивитесь, но Android — тоже неоднозначный термин. Есть проект Android Open Source Project (AOSP), в рамках которого Google предоставляет исходный код Android. Хотя он может быть использован для создания работающей на смартфоне или планшете ОС, но пользователи будут лишены функционала, который они ожидают от своего мобильного устройства. Прежде всего это сервисы поискового гиганта — Google Mobile Services (GMS). GMS — набор приложений и API. Являются столь же фундаментальной частью работы с Android как iTunes и App Store для macOS. Итак, AOSP — открытый исходный код, но тот функционал, которого вы ждете от телефона в него не включен.
Операционная система типичного современного устройства включает в себя не только AOSP и сервисы Google, но, зачастую, модификации от вендора телефона или планшета со значительным добавлением проприетарного кода.
Ранее «Блог системного администратора» рассматривал популярные дистрибутивы Linux , которые будут удобны пользователям, не желающим разбираться со сложными настройками. Рассмотрел способы запуска Android-приложений на ноутбуках и настольных компьютерах .
Что такое Linux?
Ядро Linux. Небольшая, но существенная часть операционной системы, которая отвечает за взаимодействие с аппаратным обеспечением устройства, обслуживание остальной части системы и выполнение таких задач, как управление процессором и памятью устройства. Ядро Linux, как и любое другое ядро, может функционировать только как часть более обширной операционной системы. Невозможно иметь операционную систему, состоящую исключительно из ядра. Поскольку Android является полноценной операционной системой, то в этом контексте мы сразу можем сделать вывод, что Android не является Linux.
Что такое Android?
Android — это проект, созданный для удовлетворения потребности в мобильной операционной системе с открытым исходным кодом. Изначально разработка велась компанией Android, Inc. Впоследствии проект перекупила корпорация Google. Поскольку Android является операционной системой, то в её состав входит ядро, драйверы и программное обеспечение пользовательского пространства.
AOSP с добавлением значительного количества проприетарного кода от производителя смартфона или планшета (например, GMS от Google или TouchWiz от Samsung). Операционная система Android, которая присутствует на вашем смартфоне или планшете, по своей сути является данной разновидностью Android.
Android и ядро Linux
Почему Android не является Linux?
Android не использует стандартное ядро Linux
Чтобы создать операционную систему, отвечающую уникальным потребностям мобильных устройств, команда Android внесла ряд изменений в ядро Linux, включая добавление специализированных библиотек, API и утилит, которые по большей части являются производными от операционных систем семейства BSD или написаны с нуля, специально для Android.
Android не содержит ПО и библиотек GNU
Даже если вы не согласны с тем, что дистрибутив 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
В то время как некоторые дистрибутивы Linux действительно имеют тесные связи с определенной компанией (например, Canonical и Ubuntu или Red Hat и Fedora), для большинства дистрибутивов Linux необычно, чтобы разработка велась в частном порядке только одной организацией.
Отсутствие возможности кастомизации Android
Краткий экскурс в операционные системы
Операционные системы позволяют взаимодействовать пользователю с аппаратной частью компьютера с помощью прикладного программного обеспечения.
Основные функции типичной современной операционной системы:
Управление памятью и контроль её использования приложениями.
Управление использованием вычислительной мощности приложениями.
Управление файловыми системами и жесткими дисками (HDD и SSD).
Предоставление интерфейса для создания драйверов устройств (чтобы иметь возможность добавлять в систему новое оборудование).
Предоставление графического пользовательского интерфейса для взаимодействия с программным обеспечением.
Для выполнения вышеуказанных функций в операционной системе, обычно, выделяют следующие основные части:
Ядро — состоит из планировщика, менеджера ресурсов и предварительно загруженных драйверов оборудования.
Утилиты, библиотеки и фреймворки, которые совместно используются всеми службами и приложениями.
Службы и приложения конечных пользователей.
Вышеперечисленные части можно условно разделить на 2 области, в которых они работают:
Пространство ядра — область оперативной памяти с повышенными привилегиями, в которой размещены драйверы ядра и аппаратных устройств. Обычным программам и приложениям доступ к данной области памяти запрещен.
Примечание: Графический интерфейс пользователя, в зависимости от архитектуры операционной системы, может принадлежать либо пользовательскому пространству (как в Linux), либо пространству ядра (как в Windows).
Различия между Android и Linux
Рассмотрим общие различия между Android и Linux:
А теперь рассмотрим технические различия между Android и Linux:
Заключение
Однако, если для вас дистрибутив Linux — это операционная система, основанная на ядре Linux, то Android является дистрибутивом Linux. Это может быть необычный, узкоспециализированный дистрибутив, но это такой же дистрибутив, как Ubuntu, Fedora, Debian и любая другая операционная система, основанная на ядре Linux.
Читайте также: