Homepage » come » Android è basato su Linux, ma cosa significa?

    Android è basato su Linux, ma cosa significa?

    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 principale 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 riguarda 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 principale 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 proprie esigenze. Linux offre agli sviluppatori Android un kernel di sistema operativo pre-costruito e già mantenuto per iniziare, in modo che non debbano scrivere il proprio kernel. Questo è il modo in cui sono 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 trovato 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

    C'è qualche dubbio sul fatto che Android si qualifichi come una "distribuzione Linux". Usa il kernel di Linux e altri software, ma non include gran parte del software che le distribuzioni Linux normalmente includono.

    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 applicazioni tipiche di Linux, Android utilizza la macchina virtuale Dalvik per eseguire essenzialmente applicazioni scritte in Java. Queste applicazioni sono destinate ai dispositivi Android e le interfacce di programmazione delle applicazioni (API) di Android forniscono piuttosto che essere rivolte a Linux in generale.

    Perché non è possibile eseguire il software Linux desktop su Android

    Poiché Android non include un server grafico X 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 subito, ma puoi installare un'app come Android Terminal Emulator per accedere a questo ambiente terminale.

    Di default, non c'è molto che tu possa 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 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: per fare in modo che le app Android vengano inviate ad una finestra su un desktop standard tramite Xorg, dovresti fare più lavoro. In teoria, 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 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.

    Immagine di credito: ranti su Flickr, Anatomy and Physiology di Android