• 5272
  • 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
1202

Загрузка...
Loading...

Комментарии

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

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

Школа High Tech High – дети здесь самостоятельны так же, как и профессионалы в офисах

Школа High Tech High – дети здесь самостоятельны так же, как и профессионалы в офисах

Известный казахстанский бизнесмен становится первопроходцем и создает школу, о которой можно только мечтать. То, что мы, как взрослые, делаем в бизнесе, дети будут делать в этой школе.
Zhumanova
24 апр. 2017 / 16:29
  • 21781
  • 5
Кому в Казахстане жить хорошо? Почему мы остаёмся в топ-5 стран мира по числу самоубийств

Кому в Казахстане жить хорошо? Почему мы остаёмся в топ-5 стран мира по числу самоубийств

Всё ли так хорошо у жителей Казахстана? Почему-то наша страна сохраняет твёрдые позиции в первых строчках мировых рейтингов по числу самоубийств.
openqazaqstan
24 апр. 2017 / 16:54
  • 4295
  • 20
«Казпочта» отжигает. Редкий шанс вспомнить агрессивные советские очереди

«Казпочта» отжигает. Редкий шанс вспомнить агрессивные советские очереди

Люди старшего и среднего поколений помнят шумные, недобрые, грубо ругающиеся очереди советских лет. Увидеть, как это было, можно теперь разве что в каком-нибудь фильме. Хотя не только.
openqazaqstan
26 апр. 2017 / 16:14
  • 2979
  • 33
Любовница. «Мне часто доставались мужчины, поломанные браком»

Любовница. «Мне часто доставались мужчины, поломанные браком»

Мне часто доставались мужчины, поломанные браком. Таких почти сразу видно – у них маска состоявшегося мужчины по швам трещит. И каждый из них реагирует по-своему. Поясню на паре примеров.
Jamiklisa
28 апр. 2017 / 14:21
Юный алматинец покорил Первый канал на шоу Максима Галкина

Юный алматинец покорил Первый канал на шоу Максима Галкина

Житель Алматы по имени Марк Усачев недавно оказался на телепрограмме "Лучше всех", с успехом идущей на Первом канале России. 9-летний алматинец покорил публику своими недюжинными знаниями.
Seattle
24 апр. 2017 / 16:59
  • 2647
  • 2
Президент велел делиться. Почему бы казахстанским миллиардерам не послушаться?

Президент велел делиться. Почему бы казахстанским миллиардерам не послушаться?

Президент Назарбаев призвал крупных бизнесменов делиться с народом, следуя примеру своих коллег из развитых стран. В Казахстане, действительно, сегодня много богатых людей.
openqazaqstan
27 апр. 2017 / 14:09
  • 2515
  • 26
Преподаватели и ЭКСПО: «Пока газеты пишут одно, нас заставляют покупать билеты на выставку»

Преподаватели и ЭКСПО: «Пока газеты пишут одно, нас заставляют покупать билеты на выставку»

Чтобы вы знали, чем занимаются в сфере образования - педагоги являются основой массовок. Какое отношение к учителям со стороны государства, такого же уровня и качество образования.
SaukovV
26 апр. 2017 / 16:05
  • 2443
  • 16
Инстаграм – это «рынок девушек» и он круче любой базы данных

Инстаграм – это «рынок девушек» и он круче любой базы данных

Для меня Инстаграм – это рынок. Почему? Ничего не изменилось, девушки все так же бьются в попытках наиболее выгодно себя продать, посредством привлечения внимания.
Annette_Scherer
24 апр. 2017 / 22:35
  • 2460
  • 5
Как стать караоке-шлюхой в Корее? Твои обязанности – развлекать гостя, вот и всё

Как стать караоке-шлюхой в Корее? Твои обязанности – развлекать гостя, вот и всё

Я думаю, многие видели различные объявления в интернете о наборе девушек в караоке-клубы в Южную Корею. Садитесь поудобнее, я вам сейчас расскажу что это за шняга.
savira6
28 апр. 2017 / 17:02
  • 2390
  • 20