2Sep

Android je založený na Linuxe, ale čo to znamená?

Android môže byť založený na systéme Linux, ale nie je založený na type systému Linux, ktorý ste mohli používať na vašom PC.Aplikácie pre Android nemôžete bežať na typických distribuciách Linuxu a nemôžete spustiť programy Linux, ktoré poznáte v systéme Android.

Linux tvorí hlavnú časť Androidu, ale spoločnosť Google nepridala všetky typické softvéry a knižnice, ktoré by ste našli v distribúcii Linux, ako je Ubuntu. To robí všetok rozdiel.

"Linux" vs. jadro Linuxu

Veľký rozdiel tu pripadá na to, čo máme na mysli Linux.Ľudia používajú termín "Linux" na označenie mnohých rôznych vecí.Vo svojom najzákladnejšom jazyku Linux znamená Linuxové jadro. Jadro je základnou súčasťou ľubovoľného operačného systému.

Odkazujeme tiež na Linuxové distribúcie ako jednoducho "Linux". Distribúcie Linuxu však nie sú len Linuxovým jadrom. Obsahujú mnoho ďalších softvérových nástrojov, ako sú utilitá pre shell GNU, grafický server Xorg, desktop GNOME, webový prehliadač Firefox a podobne. To je dôvod, prečo si niektorí ľudia myslia, že termín GNU / Linux by mal byť použitý pre "Linuxové distribúcie" ako Ubuntu, Mint, Debian, Fedora, Arch, openSUSE a ďalšie.

Android používa linuxové jadro pod kapotou. Keďže Linux je open-source, vývojári spoločnosti Google by mohli modifikovať jadro Linuxu podľa svojich potrieb. Linux dáva vývojárom Android vopred postavené, už udržované jadro operačného systému, ktoré začína tak, že nemusia písať svoje vlastné jadro. Takto sa vytvára mnoho rôznych zariadení - napríklad PlayStation 4 využíva jadro FreeBSD s otvoreným zdrojovým kódom, zatiaľ čo Xbox One používa jadro systému Windows NT, ktoré sa nachádza v moderných verziách systému Windows.

Dokonca aj verzia jadra systému Linux, ktorá beží vo vašom zariadení, nájdete v časti Informácie o telefóne alebo o tablete v nastaveniach systému Android.

Rozdiely

Je tu nejaká debata o tom, či sa Android kvalifikuje ako "Linuxová distribúcia". Používa jadro Linuxu a iný softvér, ale nezahŕňa veľkú časť softvéru, ktorý Linux distribuuje normálne.

Keď spustíte zariadenie s Androidom, nainštaluje sa jadro Linuxu, aké by bolo v distribúcii Linux. Veľká časť iného softvéru je však iná.Android neobsahuje knižnicu GNU C( glibc) používanú na štandardných distribuciách Linuxu, ani neobsahuje všetky knižnice GNU, ktoré by ste našli na typickej distribúcii Linuxu. Taktiež neobsahuje X server ako Xorg, takže nemôžete bežať štandardné grafické aplikácie Linux.

Skôr než beží typické Linuxové aplikácie, Android používa virtuálny stroj Dalvik na spúšťanie aplikácií napísaných v jazyku Java. Tieto aplikácie sú zamerané na zariadenia s Androidom a aplikačné programovacie rozhrania( API) Android poskytuje skôr než cielené na Linux vo všeobecnosti.

Prečo nemôžete spustiť program Desktop Linux v systéme Android

Pretože Android neobsahuje grafický X server alebo všetky štandardné knižnice GNU, nemôžete jednoducho spustiť Linuxové aplikácie v systéme Android. Musíte spúšťať aplikácie napísané špeciálne pre systém Android.

Android má shell, ako je ten, ktorý nájdete na Linuxe. Neexistuje žiadny spôsob, ako k nemu pristupovať, ale môžete nainštalovať aplikáciu ako Emulátor Terminálu Android, aby ste získali prístup k tomuto terminálovému prostrediu.

V predvolenom nastavení nie je tu veľa čo môžete urobiť.Terminál bude stále pracovať v obmedzenom prostredí, takže nemôžete získať úplný koreňový shell bez toho, aby zakorenil vaše zariadenie Android. Mnohé štandardné príkazy, ktoré budete potrebovať, nie sú k dispozícii - to je dôvod, prečo ľudia, ktorí zakladajú svoje zariadenie, všeobecne inštalujú aplikáciu BusyBox, ktorá inštaluje mnoho nástrojov príkazového riadka. Tieto pomôcky používajú aplikácie na vykonávanie úloh pomocou koreňového prístupu.

Prečo nemôžete spustiť softvér Android na ploche Linux

Linux neobsahuje virtuálny stroj Dalvik, takže nemôže používať aplikácie pre systém Android. Virtuálny stroj Dalvik a celý iný softvér Androidu nemožno jednoducho spustiť na desktopový stroj Linux - museli by ste robiť viac práce, aby sa aplikácie pre Android dostali do okna na štandardnej pracovnej ploche napríklad cez Xorg. Teoreticky, s dostatočnou prácou, by vývojári mohli Dalvika spustiť na stolnom Linuxe, takže používatelia desktopových linuxov by mohli spustiť aplikácie pre Android na svojich pracovných plochách. Práve spiace zariadenie Ubuntu pre Android sa pokúsilo urobiť niečo také, integrovať Ubuntu a Android do telefónu a umožniť aplikáciám Android bežať na ploche Ubuntu.

BlueStacks a iní emulátorov aplikácií pre Android sa to pokúšajú pre Windows a Mac. Spúšťajú Android na virtuálnom hardvéri vo virtuálnom počítači, čo im umožňuje prevádzkovať aplikácie pre Android - s trestom výkonnosti - na pracovnej ploche. Tieto riešenia sa však ukázali ako veľmi populárne.

Chrome OS spoločnosti Google je tiež založený na systéme Linux. Rovnako ako Android, OS Chrome neposkytuje štandardný systém Windows X, takže štandardné aplikácie Linux nemôžu bežať v systéme Chrome OS.Na rozdiel od platformy Android je Chrome OS bližšie k bežným distribuciam desktopových linuxov, takže môžete použiť režim vývojárov na inštaláciu chýbajúceho desktopového softvéru Linux.

Image Credit: ranti na Flickr, anatómia a fyziológia Androidu