• 5151
  • 41
  • 5
Нравится блог?
Подписывайтесь!

Является ли Андроид Линуксом? или все же нет

ПРЕДЕСЛОВИЕ

Актуальность етого поста для КЗ в том что андроид нынче в кз распространен сей пост является ликбезом!Которым я решил поделится с КЗ !предназначен для линукс и не линукс пользователям для того что бы осветить на сколько все таки андроид линукс!

Начнем?

Понятия anroid linux lsb

Является ли Андроид Линуксом? Если да, то в какой мере, а если нет, то почему? Найти ответ на этот одновременно простой и сложный вопрос — одна из целей этой статьи.

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

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

Далее, что такое Linux? Одни сразу скажут, что это ядро Linux (Linux Kernel) и представят надпись, наподобие этой: “Linux 2.6.31-14-server”. Другие сразу вспомнят про названия дистрибутивов: Ubuntu, Gentoo, CentOS и т.д., т.е. то, что называют операционной системой.

Секрет в том, что просто слово Linux понимается в зависимости от контекста, в котором оно задано. Более конкретные понятия — это Linux Kernel (ядро Linux) и Linux OS (операционная система Linux) и по сути они описывают разные вещи.

Что такое Linux Kernel? Это компонент операционной системы, который выполняет такие важные функции, как управление памятью, процессами, обеспечение взаимодействия между процессами, доступ к устройствам. Все это происходит на низком уровне, и про уровни еще будет сказано дальше.

Зададим первый вопрос: является ли Android ядром Linux? Ответом должно быть что-то, наподобие «Нельзя сравнивать теплое с мягким» или «Как можно сравнивать ядро и операционную систему, это вещи разного порядка».

Использует ли Android ядро Linux? Полагаю, что подавляющее большинство людей согласится, что да. Доработанная версия ядра Linux является частью операционной системы Android. Доработки касаются в т.ч. управления питанием, безопасности и прочей оптимизации. В конце концов, разработчики Android дорабатывают ядро под свои нужды уже долгое время, а значит должен быть заметен результат. С этой стороны вопрос можно считать закрытым.

Что же такое операционная система вообще и Linux OS в частности?

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

Самое время упомянуть уровни и абстракции.

Современное программирование — власть абстракций

История началась, как минимум в 1968 году, когда было опубликовано письмо Эдсгера Дейкстры (1930-2002) о структурном программировании. С тех пор, структура и архитектура являются краеугольным камнем в проектировании информационных систем. Современные системы выглядят, как слоеный пирог. Каждый уровень пирога определяет уровень абстракции (инкапсуляции), который пытается накрыть собой все предшествующие уровни и выступает связкой между нижележащими и вышележащими уровнями, возможно, внося дополнительный функционал.

Построение архитектуры имеет несколько целей. Во первых, упрощается поддержка системы за счет уменьшения взаимосвязей между компонентами. Во вторых, оставив тонкую прослойку для взаимодействия компонент, компоненты можно разрабатывать независимо и разными разработчиками, что очень важно в современном ПО, т.к. сейчас системой, требующей для разработки 10000 человеко-часов никого не удивишь. В третьих, это также защита инвестиций. Наибольшую ценность всегда представляет самый верхний слой, решающий бизнес-задачи. И его пытаются сделать таким, что бы минимизировать переделки при переносе с одного столба слоев на другой. Замечу, что слои не ограничиваются только слоями операционной системы, внутри прикладной программы также существуют слои, которые пытаются скрыть нижележащие слои.

Таким образом, абстракции вовсю царствуют в современных компьютерных (да и не только в компьютерных) системах.

Userland в Linux OS

Мысли о том, что пора навести порядок с userland в Linux зародились уже достаточно давно и в 2001 году вылились в первую версию Linux Standard Base. На текущий момент существует набор спецификаций ISO/IEC 23360-*, а также версия LSB 4.0, вышедшая 11 ноября 2008 г.

Цель LSB — разработать и продвигать набор стандартов, который увеличит совместимость различных дистрибутивов Linux и даст возможность запускать приложения на любой совместимой системе. LSB, например, специфицирует такие вещи, как стандартные библиотеки, команды и утилиты, дерево файловой системы (file system hierarchy), уровни выполнения (runlevels) и т.д.

В этом месте можно уверенно сказать, что Android не удовлетворяет LSB, причем по самым ключевым параметрам. Например, в качестве стандартной библиотеки clib используется реализация Bionic

Основной целью использования Bionic в Android являются:
Лицензионные ограничения, из-за которых требуется отделить прикладные программы от GPL. Bionic использует лицензию BSD.
Меньший размер для оптимизации использования памяти. Bionic требует около 200 кб, что в два раза меньше, чем e glibc.
Оптимизация по скорости выполнения: меньший размер кода, более короткие пути исполнения, очень быстрая и компактная реализация pthread.
В Bionic встроена поддержка Andoid-специфичных служб, таких как системные свойства (Properties) и протоколирование. Bionic не поддерживает некоторые функции POSIX, например исключения C++ и двухбайтовые символы, т.к. они в Android на этом уровне не нужны, а обеспечиваются уровнем выше.

Архитектура Android и классического Linux.

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

Соответственно, над Linux Kernel, clib и другими библиотеками, виртуальной машиной выстраивается еще один уровень абстракции, который играет ключевую роль при разработке для Android: Application Framework. Он является именно той прослойкой, которая отделяет прикладные программы от нижнего уровня операционной системы и берет обеспечение всех необходимых функций на себя. Иными словами, программист, разрабатывающий на Android не видит и не чувствует, что происходит на низком уровне. Если в один прекрасный момент в Android OS поменяют Linux Kernel и clib на что-то другое, никто ничего и не заметит. NDK — средство запуска процессорного кода, существующий в Android, создан для конкретных целей: самодостаточного кода, требующего максимальной производительности. Простой пример — перемножение матриц.

В Linux OS прикладные приложения также отделены от низкого уровня системы набором библиотек, а использование Linux-специфичных функций полностью на совести разработчика. Именно поэтому, например, MTA Postfix существует не только под Linux, но и, например, для FreeBSD.

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

Итого, можно сделать вывод, что Linux OS и Android имеют заметные различия в userland и в концепции построения и работы приложений, именно поэтому в самом Google явно говорят, что «Android is not Linux».

В заключение

При разработке ПО становится нормой рассуждать не в терминах операционных систем, а в терминах платформ и фреймворков. Java, Qt, JavaEE, Django, Symfony и т.п., которые обеспечивают необходимый уровень абстракции.

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

Поэтому, просьба к тем, кому статья показалась интересной и объективной, поставить плюс в карму.

ps:Linux-based вернее назвать Андроид так как без ядра линукса он ни что ))

статья копиаст единсттвенноё моё только ps

Актуальность етого поста для КЗ в том что он о linux based те android е

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

что бы поделится с КЗ линукс и не линукспользователям на сколько все таки андроид линукс и так начнем

 

ерлан Аханов erlich
Я Студент КаЗну
20 февраля 2011, 20:29
1184

Загрузка...

Комментарии

tooFAT
0
0
> Linux OS
> Android is not Linux
Наркоман что ли?
t-sh
0
0
держи +4... жалко чтоль :)
erlich
0
0
немного накроман
xapon
0
0
Факт наличия упоминания о пасте не делает этот пост лучше и добрее. К тому же в сообществе "IT-Kazakhstan".
tooFAT
0
0
Полная фимозность текста делает этот пост добрым и хорошим. habrahabr.ru кстати.
xapon
0
0
Читал это неделю назад, ага.
beji
0
0
нормально так разжевал
я это не читала. но могу сказать одно -норм

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Обратная сторона Астаны. Девять худших и проблемных районов столицы Казахстана

Обратная сторона Астаны. Девять худших и проблемных районов столицы Казахстана

Несмотря на то, что Астана столица, и один из самых красивых и современных городов Казахстана, здесь все равно есть места, за которые стыдно и даже как-то неудобно перед гостями.
Washington
12 янв. 2017 / 12:25
  • 20657
  • 26
Расписание Универсиады в Алматы. Что стоит посетить?

Расписание Универсиады в Алматы. Что стоит посетить?

Путеводитель по соревнованиям Универсиады с рекомендациями, какие соревнования Универсиады никак нельзя пропустить. До встречи на Универсиаде!
olympic
11 янв. 2017 / 10:40
  • 18652
  • 7
Господин министр, что означает ваша фраза «Хорошо, не открывайте, мы найдем другой способ проверить»?

Господин министр, что означает ваша фраза «Хорошо, не открывайте, мы найдем другой способ проверить»?

Это что, совет? Рекомендация? Или это угроза? Чего нам ждать? Чего нам бояться? Мы – законопослушные граждане Республики Казахстан, мы ЗА ужесточение законодательства в части борьбы с терроризмом, но при этом...
AliyaSadyrbaeva
10 янв. 2017 / 21:02
  • 15960
  • 32
Как мы «скидываемся» на красивую жизнь мажоров. Воровство пенсионных денег

Как мы «скидываемся» на красивую жизнь мажоров. Воровство пенсионных денег

Официальные спикеры КНБ РК рассказали о ходе расследования, раскрыв общественности схему, которую использовало руководство ЕНПФ для воровства 5 миллиардов тенге пенсионных накоплений.
openqazaqstan
13 янв. 2017 / 11:30
  • 13897
  • 12
«Ещё раз на те же грабли». Премьер Сагинтаев о временной регистрации

«Ещё раз на те же грабли». Премьер Сагинтаев о временной регистрации

Казахстанцы по-прежнему с нескрываемым возмущением и сарказмом комментируют нововведения в миграционное законодательство. Проблема, как это ни парадоксально, в том, что мы, казахстанцы – народ законопослушный.
openqazaqstan
12 янв. 2017 / 10:07
  • 11108
  • 26
Так и думал, что 2017-й начнется отвратительно. Каково вообще таким как я, квартирантам?

Так и думал, что 2017-й начнется отвратительно. Каково вообще таким как я, квартирантам?

В городе у меня нет совершенно никого, поэтому ни прописки, ни регистрации у меня нет, а живу я в съемной, как и многие. К сожалению, далеко не каждый человек готов прописать, хоть и временно, своего квартиранта.
MrVladimirLV
10 янв. 2017 / 15:21
  • 6899
  • 85
Наверное, я себя почувствовала человеком именно в Корее. Не в Казахстане

Наверное, я себя почувствовала человеком именно в Корее. Не в Казахстане

Если я останусь в Казахстане, то идти мне здесь некуда, пахать за копейки на госслужбе? Прожить всю жизнь в однокомнатной вместе с котом и мамой?
savira6
13 янв. 2017 / 9:44
  • 4737
  • 28
Айсулу Салгарина. Решил пойти в гости к той, что вызывает гордость за казахских девушек

Айсулу Салгарина. Решил пойти в гости к той, что вызывает гордость за казахских девушек

Прошло около 2 лет. За эти годы в моей жизни многое изменилось. И мне стало интересно, какие же изменения произошли в жизни тех, у кого я когда-то брал интервью...
DastanIskakov
14 янв. 2017 / 11:43
  • 4233
  • 4
Сейчас даже дяденьки и тетеньки в 20-27 лет живут с родителями. Безработица в Алматы

Сейчас даже дяденьки и тетеньки в 20-27 лет живут с родителями. Безработица в Алматы

Наверняка, все знают крылатую фразу Ленина "Кто не работает - тот не ест" В то время за безработицу осуждали, а кормили народ за счет предприятия - славные были времена, пусть я и застала их лишь...
DoZa
13 янв. 2017 / 9:54
  • 3804
  • 43