Android — это Linux или нет
Обновлено: 21.11.2024
Какая часть платформы Android является открытой? Мы объясним все, что вам нужно знать, и независимо от того, имеет ли это значение.
Вы используете Android, потому что он сделан из Linux? Тогда ты здесь не один. Многие пользователи настольных компьютеров с открытым исходным кодом впервые приобрели телефон Android из-за привлекательности мобильной операционной системы на базе Linux. Вероятно, поэтому многие из вас сейчас читают это.
Android получил широкое распространение, и это вызвало некоторый дискомфорт. Это лишь отчасти связано с желанием случайных пользователей Linux противостоять мейнстриму. Более серьезная проблема заключается в том, что производители телефонов, операторы связи и даже Google сделали с операционной системой.
Дело в том, что любой Android-телефон, который вы берете в магазине, заблокирован и работает с большим количеством закрытого исходного кода.
В результате люди, которые ценят идеалы открытого исходного кода, вместо этого смотрят на ОС Ubuntu Touch или Sailfish и с разочарованием наблюдают, как все три до сих пор не взлетели.
Ситуация оставляет Android основным вариантом для многих людей, желающих использовать Linux на своих телефонах. Но остается вопрос: действительно ли Android с открытым исходным кодом?
Является ли Android открытым исходным кодом? Да, это так (технически)
Android имеет открытый исходный код. Проект начался под управлением Android, Inc. в 2005 году, которую два года спустя купила Google. В том же году Google и несколько других компаний сформировали альянс Open Handset Alliance, и Android стала основным структурным элементом этого консорциума.
Android основан на ядре Linux, и, как и этот сложный фрагмент кода, большинство частей имеют открытый исходный код с несколькими включенными двоичными двоичными объектами, чтобы все работало на определенном оборудовании. Основная платформа Android, известная как Android Open Source Project (AOSP), доступна для всех, кто хочет делать то, что хочет.
OnePlus, Samsung, Xiaomi, Oppo и многие другие производители сделали именно это для телефонов и планшетов. Они вряд ли одни.
Amazon установила Android на Kindle, LG — на смарт-часы, а NVIDIA — на игровую консоль. Тем временем компании поставляют операционную систему на свои смарт-телевизоры. Вы можете установить Android на все, от фотоаппаратов типа «наведи и снимай» до холодильников.
И это даже не считая всего того, на что умельцы установили Android.
В отличие от iOS, пользователям не нужно никому платить за использование Android в своем продукте. А поскольку код открыт, они могут свободно экспериментировать и адаптировать программное обеспечение по своему усмотрению.
Итак, почему Android не кажется открытым исходным кодом?
Существует существенная разница между использованием традиционного рабочего стола Linux и Windows. Контраст между Android и iOS не кажется таким резким. Если Android с открытым исходным кодом, почему это не так?
1. Людям разрешено блокировать открытый исходный код
Android — это система с открытым исходным кодом, но большая часть программного обеспечения, которое мы запускаем на этой платформе, — нет. Это верно независимо от того, получаете ли вы устройство Pixel или что-то от Samsung. В отличие от первых дней Android, Pixel Launcher и большинство приложений Google стали закрытыми.
То же самое относится и к коду, который поставляется в пользовательских адаптациях Samsung, OnePlus и других производителей. Большинство приложений, которые вы получаете в Google Play, независимо от того, можно ли их загрузить бесплатно, не имеют открытого исходного кода. Поскольку это программное обеспечение составляет большую часть того, что мы видим и используем, ситуация заставляет Android в конечном итоге ощущаться как платформа с закрытым исходным кодом.
Но людям разрешено создавать программное обеспечение с закрытым исходным кодом для Linux. Если создатели не распространяют программное обеспечение под лицензией с авторским левом, другие могут взять код и использовать его для создания собственных приложений.
Итак, какая часть платформы Android является открытой? Google публикует большую часть Android под лицензией Apache версии 2.0, что не позволяет людям использовать код для создания ограничительных продуктов. Хотя люди сделали это, это все еще не делает сам Android закрытым. Многие люди используют Android в своей работе, что свидетельствует об его успехе как проекта с открытым исходным кодом.
2. Основная разработка Android не зависит от сообщества
Большую часть Android разрабатывает Google. Один или два раза в год компания выбрасывает кучу нового кода через метафорическую стену, которую спешат встроить в свои продукты ремонтники и производители оборудования.
Затем Google ежемесячно выпускает обновления для обслуживания и безопасности, готовясь к следующему большому выпуску.
Многие другие известные проекты с открытым исходным кодом обычно стремятся к более широкому участию сообщества. Red Hat может финансировать большую часть работы над GNOME, но код вносят разработчики со всего мира.
Canonical, компания, разработавшая Ubuntu, в значительной степени контролирует внешний вид этого дистрибутива Linux. Однако члены сообщества по-прежнему могут влиять на то, какие программы попадают в репозитории приложений или на некоторые веб-сайты.
Для сравнения, Android полностью является продуктом Google.
3. У вас нет полного доступа
Людей в Linux и других операционных системах с открытым исходным кодом привлекает доступная свобода и контроль. Вы не можете погрузиться в самое сердце компьютера с Windows или macOS и посмотреть, что заставляет его работать. В Linux вы можете не понимать большую часть кода, но вы можете повозиться с ним более или менее со всем.
На практике Android-телефон поставляется с чуть более широкими возможностями, чем iPhone. Возможно, вы сможете изменить панель запуска, применить некоторые обширные темы и настроить некоторые функции по своему вкусу. Тем не менее, вы не можете вносить изменения в базовую операционную систему без аннулирования гарантии.
Более обширные настройки требуют рутирования вашего устройства или прошивки пользовательского ПЗУ. В связи с этим может показаться, что у вас больше свободы в проприетарной настольной операционной системе, чем в мобильной с открытым исходным кодом.
Но Android действительно с открытым исходным кодом
И это не просто открыто только по названию. Существует множество доказательств того, что Android действительно открыт, и мы получаем ощутимые преимущества.
1. Существуют пользовательские ПЗУ
Прошивки, созданные сообществом на основе AOSP, предоставляют пользователям Android альтернативу программному обеспечению, установленному на их устройствах. CyanogenMod, теперь разветвленный как LineageOS, работал на миллионах Android-смартфонов. Из коробки опыт не сильно отличается от того, что вы можете получить на Pixel. Черт возьми, именно по этой причине многие люди в первую очередь предпочитают прошивать ПЗУ.
LineageOS — не единственный вариант. Многие из них поднимались и опускались на протяжении многих лет, например, Paranoid Android и AOKP. В некотором смысле экосистема пользовательских ПЗУ напоминает модель дистрибутива Linux. Эти ПЗУ в основном одинаковы, но проекты используют один и тот же код и настраивают его по-разному. Это было бы невозможно, если бы сам Android не был открытым исходным кодом.
2. Даже конкуренты с открытым исходным кодом зависят от Android
В начале этого поста мы упомянули ОС Sailfish и Ubuntu Touch в качестве альтернативных мобильных операционных систем с открытым исходным кодом. Дело в том, что команды, стоящие за этими проектами, так или иначе использовали код Android. ОС Sailfish позволяет устанавливать приложения Android напрямую, несмотря на то, что она не основана на Android.
До Ubuntu Touch существовала Ubuntu для Android. Невероятная ирония заключается в том, что Android может быть с закрытым исходным кодом, но проекты на его основе могут быть открытыми.
3. Вы можете управлять своим устройством
Производители и операторы связи могут не захотеть этого, и это может привести к аннулированию гарантии, но у вас есть возможность делать с вашим оборудованием все, что вы хотите. Вы можете получить права администратора, разблокировать загрузчик или установить другую операционную систему.
Возможно, это не рекламируемые функции Android, но они есть. И хотя подавляющее большинство людей с устройствами Android не возятся с ними таким образом, вряд ли вы единственный, кто это делает.
Миллионы людей любят, когда у них есть такая возможность свободно пользоваться своими телефонами и планшетами.
Почему это важно?
Люди используют операционные системы с открытым исходным кодом по разным причинам. Некоторые не доверяют отказу от контроля над своими данными. Кроме того, проприетарные приложения и службы приходят и уходят, а программное обеспечение с открытым исходным кодом остается, даже если оно не поддерживается. Бесплатные операционные системы также могут вдохнуть жизнь в оборудование, которое прекрасно работает, но компании решили отказаться от него.
И нет недостатка в этических причинах, от определения того, кто должен иметь право голоса, что работает на каком оборудовании, до обсуждения богатства, конфиденциальности и свободы.
Поскольку миллионы людей используют мобильные компьютеры, у них должны быть возможности, доступные на настольных компьютерах и ноутбуках. Забота о чем-либо из вышеперечисленного не должна означать отказ от телефонов, планшетов и крутых устройств с сенсорными экранами.
Сегодня Android остается лучшим мобильным вариантом для людей, которые ценят открытый исходный код. По умолчанию это может быть слишком коммерциализировано и перегружено рекламой, но вы можете изменить это.
Идея придать Android ощущение открытого исходного кода
Вы можете использовать LineageOS и получать приложения от F-Droid. Эта комбинация может показаться ограниченной по сравнению с тем, что вы получаете в Google Play. Тем не менее, это более многофункциональный интерфейс, чем те, которые в настоящее время предлагают конкурирующие операционные системы с открытым исходным кодом.
Поклонники открытого исходного кода все еще наблюдают и надеются, что эти альтернативы добьются успеха. Тем не менее, пока вы ждете их успеха, вы можете слушать подкасты, использовать GPS-навигацию, управлять своей локальной музыкальной библиотекой и оставаться на связи с людьми, использующими надежные и быстрые мобильные устройства, на которых сегодня установлено преимущественно программное обеспечение с открытым исходным кодом.
Люди говорили об Android и о том, что его ядро является просто ответвлением Linux и, следовательно, в основном это Linux. Но так ли это на самом деле?
Короткий ответ: да, но не совсем так.
Android как платформа определенно создан как расширение ядра Linux — давайте сначала разберемся с этим. Разработчикам Android не нужно было писать код с нуля; у них была заложена необходимая работа в виде Linux или в виде «предварительно собранной». Но это не дает право называть Android «Linux».
Видите ли, у слова Linux очень расплывчатые определения. Его можно использовать для обозначения ядра Linux или программного обеспечения GNU. Это также относится к множеству дистрибутивов Linux.
Кроме того, Android не полностью использует ядро Linux, а лишь некоторые части, которые считает важными, так что это не «Linux» в том смысле, что это дистрибутив Linux.
Не говоря уже о контрасте устройств, для которых они предназначены. Android используется в качестве интерфейса в портативных устройствах с сенсорными панелями, а дистрибутивы Linux подходят для настольных компьютеров и серверов.
Вы можете установить связь между ними, взглянув на экраны загрузки на устройствах Android; на самом деле загружается ядро Linux. Тем не менее, легко заметить, что сходства здесь не так уж и много. При ближайшем рассмотрении вы обнаружите, что библиотека Glibc, как и другие библиотеки, обычно используемые на устройствах Linux, отсутствует.
Но в чем именно разница?
Чтобы выдвинуть конкретный аргумент против классификации ОС Android как «Linux», давайте подробнее рассмотрим некоторые из основных функций этих двух систем.
Начнем с того, что Android не использует стандартное ядро Linux, а также отсутствуют некоторые фундаментальные библиотеки Linux, от которых отказываются в пользу библиотек, специально предназначенных для Android. Имея это в виду, мы можем опровергнуть аргумент о том, что Android похож на дистрибутив Linux, поскольку типичный дистрибутив не изменяет ядро Linux в той степени, в которой это сделал Android.
Одной из определяющих особенностей дистрибутивов Linux является возможность настройки; функция, которую Android почти не интегрирует в такой степени. Например, root-доступ в Linux находится всего в паре командных строк, а для взлома ядра Android требуется специальное приложение.
Программное обеспечение Linux совершенно несовместимо с Android. Приложения для одного дистрибутива Linux работают во всех других дистрибутивах, в отличие от Android. На самом деле сходство дистрибутивов Android и Linux заканчивается на ядре, в остальном программная несущая не имеет сходства друг с другом.
И наконец, вопрос лицензирования. Дистрибутивы Linux имеют открытый исходный код. Это характеристика всего, что связано с Linux. Хотя Android технически является открытым исходным кодом в том смысле, что его базовое программное обеспечение общедоступно, дальнейшие разработки были строго конфиденциальными.
Истоки ОС Android
Google приобрела ОС Android у Android Inc. в 2005 году и выпустила ее в 2008 году. С тех пор она стала де-факто операционной системой для портативных сенсорных устройств наряду с IOS. Android представил себя как идеальный конкурент IOS. В то время как IOS ограничивает и ограничивает возможности настройки, Android с его открытым исходным кодом предлагает программистам и разработчикам предлагать свои собственные интерпретации и создавать свои собственные приложения.
Забавный факт: сначала Android предлагался производителям цифровых камер как передовая операционная система. Это ни к чему не привело, и ОС в конечном итоге нашла рынок в индустрии смартфонов.
Как появился Linux?
Linux — это бесплатная Unix-подобная компьютерная операционная система с открытым исходным кодом, основанная на ядре Linux, изначально разработанная для компьютеров Intelx86, но быстро находящаяся на других платформах. Если рассматривать Android как ОС на базе Linux, то на сегодняшний день Linux будет самой популярной операционной системой общего назначения в истории.
«Точно» дистрибутивы Linux более популярны среди энтузиастов нишевых технологий, чем среди обычных пользователей. В наши дни он также нашел рынок среди хостов серверов, которые часто используют дистрибутивы Linux, такие как Ubuntu и CentOS.
Вывод:
На самом деле ответ заключается в том, что именно вы имеете в виду, когда говорите «Linux». Если Linux в вашем определении должен включать в себя программное обеспечение GNU, то Android не соответствует вашему определению. Точно так же Android не является дистрибутивом Linux в том смысле, что он не соответствует характеристикам, которые мы привыкли ожидать от типичного дистрибутива Linux. Но если приложение, построенное на ядре Linux, соответствует определению «Linux» в вашей книге, то это определенно Linux.
Об авторе
Юнис Саид
Я внештатный разработчик программных проектов, выпускник отдела разработки программного обеспечения и автор контента. Мне нравится работать с Linux и программным обеспечением с открытым исходным кодом.
"Является ли Android Linux?" — один из тех разочаровывающих вопросов, на который, казалось бы, должен быть однозначный ответ "да" или "нет", но на самом деле его нет.
Является ли Android Linux? — один из тех разочаровывающих вопросов, на который, казалось бы, должен быть однозначный ответ «да» или «нет», но это три слова, которые сообщества Android и Linux дебаты в течение лет.
Есть два фактора, из-за которых найти окончательный ответ в этом затянувшемся споре особенно сложно:
- Люди регулярно используют слово «Linux» для обозначения ряда связанных, но совершенно разных вещей.
- Не существует общепринятого определения того, что представляет собой часть программного обеспечения Linux.
В этой статье я собираюсь прояснить путаницу, связанную с различными типами программного обеспечения, которые кто-то может иметь в виду, когда они используют термин «Linux», прежде чем рассматривать все аргументы, которые неизбежно вкрадываются в каждое « это Android Linux».
Что такое Linux?
Когда кто-то говорит слово «Linux», он может иметь в виду:
- Ядро Linux. Это небольшая, но важная часть операционной системы. Ядро отвечает за взаимодействие с оборудованием устройства, предоставление услуг остальной части системы и выполнение таких задач, как управление процессором и памятью устройства. Ядро Linux, как и любое ядро, может функционировать только как часть более широкой операционной системы. Невозможно иметь операционную систему, состоящую исключительно из ядра Linux. Поскольку Android — это полноценная операционная система, мы можем сразу исключить возможность классификации Android как ядра Linux.
- Дистрибутив или дистрибутив Linux. Это операционная система, содержащая ядро Linux и дополнительное программное обеспечение, такое как утилиты, библиотеки и графический интерфейс, а также предустановленные приложения, такие как веб-браузеры, текстовые редакторы и музыкальные проигрыватели. Даже если это дополнительное программное обеспечение было разработано специально для работы с ядром Linux, оно не является частью ядра Linux. При обсуждении операционных систем, использующих ядро Linux, термины «дистрибутив», «дистрибутив» и «операционная система» взаимозаменяемы. Поскольку любой может взять ядро Linux, добавить собственное программное обеспечение и создать полноценную операционную систему, в настоящее время доступно бесчисленное количество дистрибутивов Linux.
- GNU/Linux. Большинство дистрибутивов Linux представляют собой комбинацию ядра Linux и программного обеспечения GNU, что заставило некоторых людей утверждать, что мы все должны называть дистрибутивы Linux GNU/Linux. Это совершенно другой спор, поэтому для простоты я буду использовать термины «дистрибутив Linux» и «дистрибутив» в этой статье — просто обратите внимание, что между ядром Linux существует тесная связь. и программное обеспечение GNU.
Хотя вокруг термина "Android" не так много путаницы, все же существуют две различные разновидности операционной системы Android.
Первый – это проект Android с открытым исходным кодом (AOSP). Это проект, в рамках которого Google публикует исходный код Android. Хотя можно использовать этот исходный код для создания функционирующей операционной системы, которую можно установить на смартфон или планшет, в конечном результате будет отсутствовать функциональность, которую большинство пользователей ожидает от своего Android-приложения, в первую очередь Google Mobile Services (GMS). GMS — это набор приложений и API Google, которые для многих пользователей являются фундаментальной частью работы с Android, точно так же, как iTunes и App Store являются фундаментальной частью работы с macOS. AOSP — это программа с открытым исходным кодом, но AOSP не предоставляет те возможности, которые типичный конечный пользователь ожидает от Android.
Операционная система Android, которая поставляется на обычном Android-смартфоне или планшете, по сути является базой AOSP, возможно, с некоторыми изменениями производителя и добавлением значительного собственного кода.
Большинство аргументов за и против классификации Android как Linux относятся к обеим интерпретациям Android, но есть несколько случаев, когда ответы различаются в зависимости от того, определяете ли вы Android как AOSP или как операционную систему, которая поставляется на вашем компьютере. типичный Android-смартфон или планшет.
Почему 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 заключают, что количество изменений, внесенных командой Android, «не очень велико и соответствует порядку изменений, которые обычно вносятся». к ядру Linux разработчиками встраиваемых систем».
Он не включает программное обеспечение и библиотеки GNU
Если вы согласны с тем, что программное обеспечение GNU является определяющей характеристикой дистрибутива Linux, до такой степени, что мы все должны называть дистрибутивы Linux GNU/Linux, то Android никак не может быть дистрибутивом Linux. Android включает очень мало программного обеспечения GNU, в частности, команда Android разработала специальную библиотеку C под названием Bionic, вместо того, чтобы использовать библиотеку GNU C.
Даже если вы не согласны с тем, что дистрибутив Linux должен включать программное обеспечение GNU, нельзя отрицать, что отсутствие GNU сильно отличает Android от большинства дистрибутивов Linux.
Вы не можете запускать приложения Linux на Android и наоборот
Если вы выберете несколько разных дистрибутивов Linux наугад, то, скорее всего, ядро Linux будет единственным общим программным компонентом, который у них есть. На самом деле у Android так мало общего программного обеспечения с другими дистрибутивами Linux, что на Android невозможно запускать обычные приложения Linux.
Справедливо и обратное: для приложений Android требуются специальные библиотеки Android, среда выполнения, а также ряд других программ, которые можно найти только в ОС Android, поэтому по умолчанию вы не можете запускать приложения Android ни на одной платформе, кроме Android.< /p>
Android — это продукт Google
Google может сделать исходный код базового Android общедоступным через AOSP, но Google разрабатывает следующую версию AOSP в частном порядке. Фактически, на веб-сайте AOSP четко указано, что «Google несет ответственность за стратегическое направление развития Android как платформы и продукта».
Кроме того, хотя сотрудники, не являющиеся сотрудниками Google, могут вносить свой вклад в AOSP в различных качествах, на веб-сайте AOSP четко указано, что руководителями проектов обычно являются сотрудники Google. Есть также небольшой вопрос, что Google владеет правами на имя и логотип Android, поэтому, даже если вы создаете операционную систему на основе кода AOSP, вам все равно придется поддерживать связь с Google, если вы хотите выпустить свою работу под Android. имя.
Несмотря на то, что некоторые дистрибутивы Linux тесно связаны с определенной компанией (сразу приходят на ум Canonical и Ubuntu), дистрибутивы Linux редко разрабатываются в частном порядке одной организацией.
Статус Android с открытым исходным кодом обсуждается
Несмотря на рекомендацию Фонда свободного программного обеспечения разработчикам удалять все проприетарное программное обеспечение из своих дистрибутивов Linux, строгого правила, согласно которому дистрибутивы Linux не могут включать проприетарное программное обеспечение, не существует. На самом деле многие дистрибутивы включают в себя скомпилированные поставщиком бинарные драйверы, также известные как бинарные блобы, поэтому на самом деле возникает вопрос: насколько открыт Android по сравнению с вашим «типичным» дистрибутивом Linux?
Хотя многие энтузиасты открытого исходного кода согласятся с тем, что AOSP далеко не идеальный проект с открытым исходным кодом, его код находится в свободном доступе для изменения и распространения другими людьми.
Однако к тому времени, когда база AOSP доходит до пользователей Android, в нее добавляется много проприетарного кода, и это верно независимо от того, выбираете ли вы устройство с «чистым Android», такое как Nexus или Pixel, или устройство с модификациями производителя.
Хотя это не обязательно лишает Android права называться дистрибутивом Linux, стоит отметить, что большая часть кода, который пользователи могут видеть и с которым могут взаимодействовать, является проприетарным, например Google Mobile Services и модификации для конкретных производителей, такие как 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, утверждая, что Android можно считать дистрибутивом Linux, поскольку он использует ядро Linux.
Позвольте мне раз и навсегда развеять это недоразумение относительно того, можно ли считать Android дистрибутивом Linux.
Если вы еще не читали нашу статью о разнице между Unix и Linux, начните с нее. Я определил, что такое Unix и Linux, их историю и чем они отличаются. Суть дела в том, что Linux — это ядро, разработанное Линусом Торвальдсом в 1991 году на основе ОС MINIX.
Со временем участники воспользовались тем, что исходный код Linux (вместе с его компонентом GNU) является открытым, и адаптировали его в соответствии со своими идеями и реализациями; создание множества дистрибутивов с множеством уникальных функций.
Что такое Android?
Android Inc. была основана в октябре 2003 года Энди Рубином, Ричем Майнером, Ником Сирсом и Крисом Уайтом в Калифорнии, США. Проект Android был описан как проект с «огромным потенциалом в разработке более умных мобильных устройств, которые лучше осведомлены о местоположении и предпочтениях своего владельца».
Операционная система Android с открытым исходным кодом сначала разрабатывалась с целью создания передовой ОС для цифровых камер, пока они не поняли, что рынок цифровых камер недостаточно велик, и переориентировали свои усилия на создание ОС для телефонов, которая могла бы конкурировать с Microsoft Windows Mobile и Symbian.
Google Inc. купила компанию в 2005 году, и, как мы теперь знаем, остальное уже история.
Под капотом Android используется модифицированное ядро Linux, которое предоставляет разработчикам множество готовых и поддерживаемых функций. Это, в свою очередь, экономит время и позволяет разработчикам Android сосредоточиться на наиболее важных функциях мобильных устройств.
Исходя из подробностей Манифеста GNU Ричарда Столлмана, ОС состоит из четырех элементов:
- Ядро
- HAL (уровень аппаратной абстракции) — место, где «находятся» драйверы, не скомпилированные в ядро.
- Пользовательское пространство — место, где «находятся» приложения.
- Среда рабочего стола или пользовательский интерфейс, например. GNOME и KDE.
Аспект Android, который представляет собой Linux, заключается в его монолитном ядре, которое представляет собой модифицированную версию ядра Linux и поставляется со своими собственными библиотеками и API. Модификации ядра Linux в основном предназначены для специализированных требований к питанию портативных устройств с небольшими батареями, а специализированные библиотеки и API предназначены для взаимодействия с частью сотовой связи мобильного телефона, а также для реализации общего программирования и пользовательского интерфейса. для поддержки приложений, чтобы они не были привязаны к линейке моделей телефонов конкретного производителя.
Еще одна важная деталь заключается в том, что когда операционная система Linux была разработана Линусом Торвальдсом в 1991 году как операционная система с открытым исходным кодом для настольных компьютеров, она была разработана как операционная система MINIX и не поддерживала 32-разрядные функции на машинах Intel 80386. . Существенная разница между ними в то время заключалась в том, что архитектура Android поддерживала только x86 и ARM, которые она использовала для мобильных интернет-устройств (MID) и мобильных телефонов.
В заключение
Android не является дистрибутивом GNU/Linux, но его ядром (его мощным двигателем) является Linux, и, поскольку существует соглашение, что набор программного обеспечения, собранный вокруг ядра Linux, называется Linux, Android — это Linux.
- Android — это операционная система с открытым исходным кодом, которая была впервые создана Android Inc. и теперь принадлежит Google, а ядро Linux было создано Линусом Торвальдсом (и в нем участвовали многие другие) в рамках проекта GNU.
- Android разработан для мобильных телефонов и устройств с мобильным Интернетом, а Linux – для настольных компьютеров, ноутбуков и серверов.
- Android использует собственную библиотеку C, Bionic; в то время как дистрибутивы Linux используют GNU C
- Android не может запускать программы, предназначенные для дистрибутивов GNU/Linux
- Android реализует модифицированную версию ядра Linux со специализированными библиотеками и API для взаимодействия с сотовыми сетями и обеспечения поддержки приложений, которые могут использоваться моделями телефонов независимо от их поставщиков.
- Вы можете перейти в раздел информации «О программе» в настройках, чтобы проверить версию ядра, на которой работает ваш телефон.
Надеюсь, эта статья помогла вам понять взаимосвязь между Android и Linux и понять, почему Android — это Linux, но не дистрибутив Linux?
Есть ли у вас какие-либо разногласия, вопросы или комментарии по теме? Поделитесь ими с нами в разделе комментариев ниже.
Читайте также: