If-Koubou

Android este bazat pe Linux, dar ce înseamnă asta?

Android este bazat pe Linux, dar ce înseamnă asta? (Cum să)

Android poate fi bazat pe Linux, dar nu se bazează pe tipul de sistem Linux pe care l-ați folosit pe PC. Nu puteți rula aplicații Android pe distribuții tipice Linux și nu puteți rula programele Linux pe care le cunoașteți pe Android.

Linux reprezintă partea centrală a Androidului, dar Google nu a adăugat toate programele și bibliotecile tipice pe care le-ați găsi pe o distribuție Linux, cum ar fi Ubuntu. Asta face diferența.

"Linux" vs. Kernel-ul Linux

Marea diferență aici se referă la ceea ce înțelegem prin Linux. Oamenii folosesc termenul "Linux" pentru a însemna multe lucruri diferite. La cele mai de bază, Linux înseamnă kernel-ul Linux. Un nucleu este partea centrală a oricărui sistem de operare.

De asemenea, ne referim la distribuțiile Linux ca pur și simplu "Linux". Cu toate acestea, distribuțiile Linux nu sunt doar kernel-ul Linux. Acestea conțin multe alte programe, cum ar fi utilitarele GNU shell, serverul grafic Xorg, desktopul GNOME, browserul web Firefox și așa mai departe. De aceea unii oameni cred că termenul GNU / Linux ar trebui să fie folosit pentru "distribuții Linux" precum Ubuntu, Mint, Debian, Fedora, Arch, openSUSE și altele.

Android folosește kernel-ul Linux sub capotă. Deoarece Linux este open-source, dezvoltatorii Android de la Google ar putea modifica kernelul Linux pentru a se potrivi nevoilor lor. Linux oferă dezvoltatorilor Android un nucleu de sistem de operare pre-construit, deja întreținut, pentru a începe astfel încât să nu trebuiască să scrie propriul kernel. Acesta este modul în care sunt construite multe dispozitive diferite - de exemplu, PlayStation 4 utilizează kernelul FreeBSD open-source, în timp ce Xbox One utilizează kernel-ul Windows NT găsit în versiunile moderne de Windows.

Veți vedea chiar și versiunea kernelului Linux care rulează pe dispozitiv în secțiunea Despre telefon sau Despre tabletă din setările Android.

Diferentele

Există o dezbatere asupra faptului dacă Android se califică drept o "distribuție Linux". Utilizează kernel-ul Linux și alt software, dar nu include o mare parte din software-ul inclus în mod normal în distribuțiile Linux.

Când porniți un dispozitiv Android, kernel-ul Linux se încarcă la fel ca în cazul unei distribuții Linux. Cu toate acestea, o mare parte din software-ul este diferit. Android nu include Biblioteca GNU C (glibc) utilizată pe distribuțiile standard Linux și nici nu include toate bibliotecile GNU pe care le găsiți într-o distribuție tipică Linux. De asemenea, nu include un server X precum Xorg, deci nu puteți rula aplicații grafice standard Linux.

În loc să ruleze aplicații tipice Linux, Android utilizează mașina virtuală Dalvik pentru a rula esențial aplicații scrise în Java. Aceste aplicații sunt destinate dispozitivelor Android și interfețele de programare a aplicațiilor (API) Android oferă mai degrabă decât să fie orientate spre Linux în general.

De ce nu puteți rula software-ul Desktop Linux pe Android

Deoarece Android nu include un server X grafic sau toate bibliotecile GNU standard, nu puteți rula pur și simplu aplicații Linux pe Android. Trebuie să rulați aplicații scrise în mod specific pentru Android.

Android are o coajă ca cea pe care o veți găsi pe Linux. Nu există nicio modalitate de a accesa această aplicație în afara casetei, însă puteți instala o aplicație ca emulatorul de terminale Android pentru a avea acces la acest mediu terminal.

În mod implicit, nu puteți face prea multe aici. Terminalul va rula în continuare într-un mediu restrâns, astfel încât să nu puteți obține o coajă rădăcină completă fără a vă înrădăcina dispozitivul Android. Multe comenzi standard de care aveți nevoie nu sunt disponibile - de aceea oamenii care își rădăcină dispozitivele în general instalează aplicația BusyBox, care instalează multe utilitare de linie de comandă. Aceste utilitare sunt folosite de aplicații pentru a face lucruri cu accesul lor la root.

De ce nu puteți rula software-ul Android pe desktop Linux

Linux nu include masina virtuala Dalvik, asa ca nu poate rula aplicatii Android. Mașina virtuală Dalvik și întregul alt software al Android nu pot fi pur și simplu abandonate pe o mașină de birou Linux - va trebui să faci mai multă muncă pentru ca aplicațiile Android să fie trimise într-o fereastră pe un desktop standard prin Xorg, de exemplu. Teoretic, cu suficientă muncă, dezvoltatorii ar putea face ca Dalvik să ruleze pe desktop Linux, astfel încât utilizatorii de Linux de pe desktop ar putea rula aplicații Android pe desktop-urile lor. Produsul Ubuntu pentru Android, care acum dormea, a încercat să facă ceva de genul acesta, integrând Ubuntu și Android pe un telefon și permițând acestor aplicații Android să ruleze pe desktop-ul lui Ubuntu.

BlueStacks și alte emulatoare de aplicații Android încearcă să facă acest lucru pentru Windows și Mac. Ei rulează Android pe hardware virtual într-o mașină virtuală, permițându-i să ruleze aplicații Android - cu o pedeapsă de performanță - pe desktop. Aceste soluții nu s-au dovedit însă foarte populare.

Google Chrome OS se bazează, de asemenea, pe Linux. La fel ca Android, sistemul de operare Chrome nu oferă un sistem standard de ferestre X, astfel încât aplicațiile standard Linux nu pot rula pe sistemul de operare Chrome. Spre deosebire de sistemul de operare Android, sistemul de operare Chrome este mai aproape de distribuțiile desktop standard Linux, astfel încât să puteți utiliza modul dezvoltator pentru a instala software-ul desktop Linux lipsă.

Image Credit: ranti pe Flickr, Anatomie și Fiziologie Android