Домашня » як » Android базується на Linux, але що це означає?

    Android базується на Linux, але що це означає?

    Android може базуватися на Linux, але він не заснований на типі системи Linux, яку ви могли використовувати на вашому ПК. Ви не можете запускати програми для Android на типових дистрибутивах Linux, і ви не можете запускати програми Linux, які ви знайомі з Android.

    Linux є основною частиною Android, але Google не додав усіх типових програм і бібліотек, які можна знайти на дистрибутиві Linux, як Ubuntu. Це робить різницю.

    “Linux” та Linux

    Велика різниця тут зводиться до того, що ми розуміємо під Linux. Люди використовують термін «Linux» для позначення багатьох різних речей. У самому основному Linux означає ядро ​​Linux. Ядро є основною частиною будь-якої операційної системи.

    Ми також посилаємося на дистрибутиви Linux як просто «Linux». Однак дистрибутиви Linux - це не просто ядро ​​Linux. Вони містять багато інших частин програмного забезпечення, такі як утиліти оболонки GNU, графічний сервер Xorg, робочий стіл GNOME, веб-браузер Firefox тощо. Ось чому деякі люди вважають, що термін GNU / Linux повинен використовуватися для “дистрибутивів Linux”, таких як Ubuntu, Mint, Debian, Fedora, Arch, openSUSE та інші..

    Android використовує ядро ​​Linux під капотом. Оскільки Linux є відкритим кодом, розробники Android від Google могли змінювати ядро ​​Linux відповідно до їхніх потреб. Linux дає розробникам Android попередньо побудований ядро ​​операційної системи, що вже підтримується, для того, щоб вони не повинні писати власне ядро. Так побудовано багато різних пристроїв - наприклад, PlayStation 4 використовує ядро ​​FreeBSD з відкритим вихідним кодом, а Xbox One використовує ядро ​​Windows NT, знайдене в сучасних версіях Windows..

    Ви навіть побачите версію ядра Linux, запущену на вашому пристрої в розділі Про телефон або Про планшет в меню Параметри Android.

    Відмінності

    Деякі дебати щодо того, чи відповідає Android «дистрибутивом Linux». Він використовує ядро ​​Linux та інше програмне забезпечення, але не включає більшу частину програмного забезпечення Linux, які зазвичай включають в себе..

    Під час завантаження пристрою Android, ядро ​​Linux завантажується так само, як і в дистрибутиві Linux. Однак значна частина іншого програмного забезпечення відрізняється. Android не включає бібліотеку GNU C (glibc), що використовується на стандартних дистрибутивах Linux, і не включає всі бібліотеки GNU, які ви знайдете на типовому дистрибутиві Linux. Він також не включає X-сервер, такий як Xorg, тому ви не можете запускати стандартні графічні програми Linux.

    Замість того, щоб використовувати типові програми для Linux, Android використовує віртуальну машину Dalvik для того, щоб по суті запускати програми, написані на Java. Ці програми орієнтовані на пристрої Android і інтерфейси прикладного програмування (API), що надаються Android, а не націлені на Linux в цілому.

    Чому ви не можете запустити програмне забезпечення для робочого столу Linux на Android

    Оскільки Android не включає графічний X-сервер або всі стандартні бібліотеки GNU, ви не можете просто запустити Linux-програми на Android. Ви повинні запускати програми, написані спеціально для Android.

    У Android є оболонка, подібна до тієї, яку ви знайдете в Linux. Доступ до неї неможливий, але ви можете встановити додаток, як емулятор терміналів Android, щоб отримати доступ до цього середовища терміналу.

    За замовчуванням тут не так багато можна зробити. Термінал все одно буде працювати в обмеженому середовищі, тому ви не зможете отримати повну кореневу оболонку без укорінення вашого пристрою Android. Багато стандартних команд, які вам знадобляться, недоступні - тому люди, які коренізують їх пристрій, зазвичай встановлюють програму BusyBox, яка встановлює багато утиліт командного рядка. Ці утиліти використовуються програмами для виконання дій з кореневим доступом.

    Чому ви не можете запустити програмне забезпечення для Android на робочому столі Linux

    Linux не включає віртуальну машину Dalvik, тому він не може запускати програми для Android. Віртуальну машину Dalvik і все інше програмне забезпечення Android не можна просто скинути на настільну машину Linux - вам доведеться більше працювати, щоб зробити Android-додатки виведеними у вікно на стандартному робочому столі за допомогою Xorg, наприклад. Теоретично, з достатньою роботою, розробники могли б зробити Dalvik працювати на настільних Linux, так що користувачі настільних Linux могли працювати з додатками для Android на робочих столах. Тепер неактивний продукт Ubuntu для Android спробував зробити щось на зразок цього, об'єднавши Ubuntu і Android на телефон і дозволивши цим програмам Android працювати на робочому столі Ubuntu.

    BlueStacks та інші емулятори Android-програм намагаються зробити це для Windows і Mac. Вони запускають Android на віртуальному апаратному забезпеченні у віртуальній машині, дозволяючи їм запускати програми для Android - з показником показників продуктивності - на робочому столі. Ці рішення не виявилися дуже популярними.


    ОС Google Chrome також базується на Linux. Як і Android, ОС Chrome не надає стандартну систему вікон X, тому стандартні програми Linux не можуть працювати в ОС Chrome. На відміну від Android, ОС Chrome ближче до стандартних дистрибутивів Linux для настільних комп'ютерів, тому ви можете використовувати режим розробника для встановлення відсутнього програмного забезпечення для робочого столу Linux.

    Зображення кредит: ранті на Flickr, анатомії та фізіології Android