Android este bazat pe Linux, dar ce înseamnă asta?
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, însă 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 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. Acesta este motivul pentru care unii oameni cred că termenul GNU / Linux ar trebui să fie folosit pentru "distribuții Linux" cum ar fi Ubuntu, Mint, Debian, Fedora, Arch, openSUSE și altele.
Android utilizează kernel-ul Linux sub hota. 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 kernel 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 "distribuție Linux". Utilizează kernel-ul Linux și alt software, dar nu include o mare parte din software-ul distribuțiilor Linux includ în mod normal.
Când porniți un dispozitiv Android, kernelul Linux se încarcă exact 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) folosită pe distribuțiile standard Linux, 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, cum ar fi Xorg, deci nu puteți rula aplicații grafice standard Linux.
În loc să ruleze aplicații tipice Linux, Android folosește mașina virtuală Dalvik pentru a rula în esență 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 special pentru Android.
Android are o cochilie ca cea pe care o vei 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 Emulator Terminal 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 pe care le-ați putea avea nevoie nu sunt disponibile - de aceea oamenii care își rădăcină dispozitivul î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, deci 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 a face 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 a dormit acum, a încercat să facă ceva de genul acesta, integrând Ubuntu și Android pe un telefon și permițând aplicațiilor Android să ruleze pe desktop-ul lui Ubuntu.
BlueStacks și alți emulatori 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-ul tău. 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, deci aplicațiile standard Linux nu pot fi difuzate pe sistemul de operare Chrome. Spre deosebire de Android, sistemul de operare Chrome este mai aproape de distribuțiile desktop standard pentru Linux, astfel încât să puteți utiliza modul dezvoltator pentru a instala software-ul desktop Linux lipsă.
Credit de imagine: ranti pe Flickr, Anatomie și Fiziologie Android