2Sep
Android può essere basato su Linux, ma non si basa sul tipo di sistema Linux che potresti aver usato sul tuo PC.Non è possibile eseguire app Android su tipiche distribuzioni Linux e non è possibile eseguire i programmi Linux con cui si ha familiarità su Android.
Linux costituisce la parte centrale di Android, ma Google non ha aggiunto tutti i software e le librerie tipiche che si trovano su una distribuzione Linux come Ubuntu. Questo fa la differenza.
"Linux" contro Linux Kernel
La grande differenza qui si riduce a ciò che intendiamo per Linux. Le persone usano il termine "Linux" per indicare molte cose diverse. Alla sua base, Linux significa il kernel di Linux. Un kernel è la parte centrale di qualsiasi sistema operativo.
Ci riferiamo anche alle distribuzioni Linux come semplicemente "Linux". Tuttavia, le distribuzioni Linux non sono solo il kernel di Linux. Contengono molti altri software, come le utilità della shell GNU, il server grafico Xorg, il desktop GNOME, il browser Web Firefox e così via. Ecco perché alcune persone pensano che il termine GNU / Linux debba essere usato per "distribuzioni Linux" come Ubuntu, Mint, Debian, Fedora, Arch, openSUSE e altri.
Android utilizza il kernel Linux sotto il cofano. Poiché Linux è open source, gli sviluppatori Android di Google potrebbero modificare il kernel di Linux in base alle loro esigenze. Linux offre agli sviluppatori Android un kernel del sistema operativo pre-costruito e già mantenuto per iniziare, in modo che non debbano scrivere il proprio kernel. Questo è il modo in cui vengono costruiti molti dispositivi diversi, ad esempio, la PlayStation 4 utilizza il kernel FreeBSD open source, mentre la Xbox One utilizza il kernel di Windows NT presente nelle moderne versioni di Windows.
Vedrai anche la versione del kernel Linux in esecuzione sul tuo dispositivo in Informazioni su telefono o Informazioni sul tablet nelle Impostazioni di Android.
Le differenze
Si discute se Android si qualifica come "distribuzione Linux". Utilizza il kernel Linux e altri software, ma non include gran parte del software che normalmente include le distribuzioni Linux.
Quando si avvia un dispositivo Android, il kernel Linux si carica esattamente come farebbe su una distribuzione Linux. Tuttavia, gran parte dell'altro software è diverso. Android non include la libreria GNU C( glibc) usata nelle distribuzioni Linux standard, né include tutte le librerie GNU che si trovano su una tipica distribuzione Linux. Inoltre non include un server X come Xorg, quindi non è possibile eseguire applicazioni Linux grafiche standard.
Anziché eseguire tipiche applicazioni Linux, Android utilizza la macchina virtuale Dalvik per eseguire essenzialmente applicazioni scritte in Java. Queste applicazioni sono rivolte ai dispositivi Android e alle interfacce di programmazione delle applicazioni( API) che Android fornisce anziché essere rivolte a Linux in generale.
Perché non è possibile eseguire il software desktop Linux su Android
Poiché Android non include un server grafico X o tutte le librerie GNU standard, non è possibile eseguire semplicemente applicazioni Linux su Android. Devi eseguire applicazioni scritte appositamente per Android.
Android ha una shell come quella che troverai su Linux. Non c'è modo di accedervi subito, ma è possibile installare un'app come Android Terminal Emulator per accedere a questo ambiente terminale.
Per impostazione predefinita, non c'è molto che puoi fare qui. Il terminale verrà comunque eseguito in un ambiente limitato, quindi non è possibile ottenere una shell di root completa senza il root del dispositivo Android. Molti comandi standard di cui potresti aver bisogno non sono disponibili - ecco perché le persone che eseguono il root del dispositivo in genere installano l'applicazione BusyBox, che installa molte utilità della riga di comando. Queste utilità sono utilizzate dalle applicazioni per fare cose con il loro accesso di root.
Perché non è possibile eseguire il software Android sul desktop Linux
Linux non include la macchina virtuale Dalvik, quindi non può eseguire app Android. La macchina virtuale Dalvik e tutti gli altri software di Android non possono semplicemente essere rilasciati su una macchina Linux desktop: dovresti fare più lavoro per far sì che le app Android vengano esportate in una finestra su un desktop standard tramite Xorg, ad esempio. Teoricamente, con abbastanza lavoro, gli sviluppatori potevano far funzionare Dalvik su desktop Linux in modo che gli utenti Linux desktop potessero eseguire app Android sui loro desktop. Il prodotto Ubuntu ormai inattivo per Android ha tentato di fare qualcosa di simile, integrando Ubuntu e Android su un telefono e permettendo a quelle app di Android di girare sul desktop di Ubuntu.
BlueStacks e altri emulatori di app Android tentano di farlo per Windows e Mac. Eseguono Android su hardware virtuale in una macchina virtuale, consentendo loro di eseguire app Android - con una penalizzazione delle prestazioni - sul desktop. Queste soluzioni non si sono dimostrate molto popolari, però.
Il sistema operativo Chrome di Google si basa anche su Linux. Come Android, Chrome OS non fornisce un sistema X Window standard, quindi le applicazioni Linux standard non possono essere eseguite su Chrome OS.A differenza di Android, Chrome OS è più vicino alle distribuzioni Linux desktop standard, quindi puoi utilizzare la modalità sviluppatore per installare il software desktop Linux mancante.
Image Credit: ranti su Flickr, Anatomy and Physiology di Android