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" versus Linuxové jadro
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í. Základom Linuxu je Linuxové jadro. Jadro je základnou súčasťou ľubovoľného operačného systému.
Distribúcie Linuxu tiež označujeme ako "Linux". Distribúcie Linuxu však nie sú len Linuxovým jadrom. Obsahujú mnoho ďalších softvérových nástrojov, ako sú nástroje pre GNU shell, grafický server Xorg, pracovnú plochu GNOME, webový prehliadač Firefox a podobne. Preto sa niektorí ľudia domnievajú, ž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. Pretož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 vytvorené, 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 platforma PlayStation 4 využíva jadro FreeBSD s otvoreným zdrojom, 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á je spustená v zariadení, sa zobrazí v časti Informácie o telefóne alebo o tablete v nastaveniach systému Android.
Rozdiely
Existuje nejaká debata o tom, či sa Android kvalifikuje ako "distribúcia Linuxu". Používa Linuxové jadro a iný softvér, ale nezahŕňa veľkú časť softvéru Distribúcie Linuxu zvyčajne zahŕňajú.
Keď spustíte zariadenie Android, nainštaluje sa jadro Linuxu rovnako ako v prípade distribúcie systému Linux. Veľká časť ostatné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ž cieľ na Linux všeobecne.
Prečo nemôžete spustiť softvér Desktop Linux v systéme Android
Pretože Android neobsahuje grafický server X alebo všetky štandardné knižnice GNU, nemôžete jednoducho spustiť aplikácie Linux 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 možné urobiť veľa. Terminál sa bude aj naďalej prevádzkovať v obmedzenom prostredí, takže nemôžete získať úplný koreňový shell bez toho, aby zakorenil vaše zariadenie Android. Niektoré š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 to, aby robili veci s ich root prístupom.
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 - budete musieť urobiť viac práce, aby sa aplikácie pre Android dali do okna na štandardnej pracovnej ploche napríklad pomocou Xorgu. Teoreticky, s dostatočnou prácou, by vývojári mohli spustiť Dalvik na stolnom počítači Linux tak, aby používatelia desktopových linuxov 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 na telefóne a umožniť aplikáciám Android bežať na ploche Ubuntu.
Moduly BlueStacks a ďalšie emulátory aplikácií pre Android sa to pokúšajú pre Windows a Mac. Spúšťajú Android na virtuálnom hardvére 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. Podobne ako v systéme Android OS Chrome neposkytuje štandardný X window systém, takže štandardné aplikácie Linuxu nemôžu bežať v OS Chrome. Na rozdiel od platformy Android je Chrome OS bližšie k bežným distribuciam desktopových liniek, takže môžete použiť režim vývojárov na inštaláciu chýbajúceho desktopového softvéru pre systém Linux.
Image Credit: ranti na Flickr, Anatómia a fyziológia Androidu