Android è basato su Linux, ma cosa significa?

  • Chris Hoffman

    @chrisbhoffman

  • Aggiornato il 12 luglio 2017, 10:20 pm EDT

android-linux

Android può essere basato su Linux, ma non è basato sul tipo di sistema Linux che potresti aver usato sul tuo PC. Non puoi eseguire le applicazioni Android sulle tipiche distribuzioni Linux e non puoi eseguire i programmi Linux che ti sono familiari su Android.

Linux costituisce la parte centrale di Android, ma Google non ha aggiunto tutto il software e le librerie tipiche che si trovano su una distribuzione Linux come Ubuntu. Questo fa la differenza.

“Linux” vs. Il Kernel Linux

RELATO: “Linux” non è solo Linux: 8 pezzi di software che compongono i sistemi Linux

La grande differenza qui si riduce a ciò che intendiamo per Linux. La gente usa il termine “Linux” per significare molte cose diverse. Alla sua base, Linux significa il kernel di Linux. Un kernel è la parte centrale di qualsiasi sistema operativo.

Pubblicità

Ci si riferisce anche alle distribuzioni Linux semplicemente come “Linux”. Tuttavia, le distribuzioni Linux non sono solo il kernel Linux. Contengono molti altri pezzi di software, come le utility 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 dovrebbe essere usato per “distribuzioni Linux” come Ubuntu, Mint, Debian, Fedora, Arch, openSUSE, e altre.

Android usa il kernel Linux sotto il cofano. Poiché Linux è open-source, gli sviluppatori Android di Google potrebbero modificare il kernel Linux per adattarlo alle loro esigenze. Linux dà agli sviluppatori di Android un kernel del sistema operativo precostituito e già mantenuto da cui partire, in modo da non dover scrivere il proprio kernel. Questo è il modo in cui sono costruiti molti dispositivi diversi – per esempio, la PlayStation 4 usa il kernel open-source FreeBSD, mentre la Xbox One usa il kernel Windows NT che si trova nelle versioni moderne di Windows.

Vedrai anche la versione del kernel Linux in esecuzione sul tuo dispositivo sotto About phone o About tablet nelle Impostazioni di Android.

linux-kernel-version-on-android-about-screen

Le differenze

RELATO: Che cos’è una distribuzione Linux, e come sono diverse l’una dall’altra?

C’è un certo dibattito sul fatto che Android si qualifichi come una “distribuzione Linux”. Utilizza il kernel Linux e altri software, ma non include molto del software che le distribuzioni Linux normalmente includono.

Pubblicità

Quando si avvia un dispositivo Android, il kernel Linux si carica proprio come farebbe su una distribuzione Linux. Tuttavia, gran parte dell’altro software è diverso. Android non include la GNU C Library (glibc) usata nelle distribuzioni Linux standard, né tutte le librerie GNU che si trovano in una tipica distribuzione Linux. Inoltre non include un server X come Xorg, quindi non è possibile eseguire applicazioni grafiche standard di Linux.

Piuttosto che eseguire applicazioni tipiche di Linux, Android utilizza la macchina virtuale Dalvik per eseguire essenzialmente applicazioni scritte in Java. Queste applicazioni sono mirate ai dispositivi Android e alle interfacce di programmazione delle applicazioni (API) che Android fornisce, piuttosto che essere mirate a Linux in generale.

android-architecture

Perché non è possibile eseguire software Desktop Linux su Android

RELATO: Cos’è Unix, e perché è importante?

Perché Android non include un server X grafico o tutte le librerie GNU standard, non puoi semplicemente eseguire 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 out-of-the-box, ma è possibile installare un’applicazione come Android Terminal Emulator per avere accesso a questo ambiente terminale.

Pubblicità

Di default, non c’è molto da fare qui. Il terminale verrà comunque eseguito in un ambiente ristretto, quindi non è possibile ottenere una shell di root completa senza fare il rooting del dispositivo Android. Molti comandi standard di cui potresti aver bisogno non sono disponibili – questo è il motivo per cui le persone che fanno il root del loro dispositivo generalmente installano l’applicazione BusyBox, che installa molte utilità a riga di comando. Queste utility sono usate dalle applicazioni per fare cose con il loro accesso root.

android-terminal-emulator-uname

Perché non puoi eseguire software Android su Desktop Linux

RELATO: Come giocare a giochi Android (ed eseguire applicazioni Android) su Windows

Linux non include la macchina virtuale Dalvik, quindi non può eseguire applicazioni Android. La macchina virtuale Dalvik e tutti gli altri software di Android non possono essere semplicemente lasciati su una macchina desktop Linux – si dovrebbe fare più lavoro per far uscire le applicazioni Android in una finestra su un desktop standard attraverso Xorg, per esempio. Teoricamente, con abbastanza lavoro, gli sviluppatori potrebbero far funzionare Dalvik su Linux desktop in modo che gli utenti Linux desktop possano eseguire le applicazioni Android sui loro desktop. L’ormai inattivo prodotto Ubuntu for Android ha tentato di fare qualcosa di simile, integrando Ubuntu e Android su un telefono e permettendo a quelle applicazioni Android di funzionare sul desktop di Ubuntu.

BlueStacks e altri emulatori di applicazioni Android tentano di fare questo per Windows e Mac. Eseguono Android su hardware virtuale in una macchina virtuale, permettendo loro di eseguire le applicazioni Android – con una penalità di prestazioni – sul vostro desktop. Queste soluzioni non si sono dimostrate molto popolari, però.

apk-on-desktop-linux

Anche Chrome OS di Google è basato su Linux. Come Android, Chrome OS non fornisce un sistema di finestre standard X, quindi le applicazioni standard di Linux non possono funzionare su Chrome OS. A differenza di Android, Chrome OS è più vicino alle distribuzioni Linux standard per il desktop, quindi è possibile utilizzare la modalità sviluppatore per installare il software desktop Linux mancante.

Pubblicità

Image Credit: ranti on Flickr, Anatomy and Physiology of Android

Chris Hoffman
Chris Hoffman è Editor-in-Chief di How-To Geek. Ha scritto di tecnologia per oltre un decennio ed è stato editorialista di PCWorld per due anni. Chris ha scritto per il New York Times, è stato intervistato come esperto di tecnologia in stazioni televisive come la NBC 6 di Miami, e il suo lavoro è stato coperto da notizie come la BBC. Dal 2011, Chris ha scritto oltre 2.000 articoli che sono stati letti quasi un miliardo di volte – e questo solo qui a How-To Geek.Read Full Bio ”

Leave a Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.