Ho letto da qualche parte che Android usa il kernel Linux. È veramente vero? Pensavo che il kernel Linux fosse pensato per i sistemi operativi desktop.
Ho letto da qualche parte che Android usa il kernel Linux. È veramente vero? Pensavo che il kernel Linux fosse pensato per i sistemi operativi desktop.
Risposte:
Architettura di Android
Android si affida a Linux per servizi di sistema di base come sicurezza, gestione della memoria, gestione dei processi, stack di rete e modello di driver. Il kernel funge anche da strato di astrazione tra l'hardware e il resto dello stack del software.
L'ultimo Android esegue Linux versione 3.10 ( sorgente ).
E il mio commento sulla tua seconda frase è che Linux Kernel non è pensato solo per sistemi operativi desktop. I suoi casi d'uso variano da sistemi operativi desktop a server, mainframe e supercomputer a dispositivi integrati.
Linux è un kernel del sistema operativo ampiamente portato. A causa del basso costo e della facilità di personalizzazione, il kernel Linux viene utilizzato su una gamma molto diversificata di architetture di computer: nei dispositivi portatili e nei sistemi mainframe, in dispositivi che vanno dai telefoni cellulari ai supercomputer.
Dall'altra nota: Palm (successivamente acquisito da HP) utilizza il sistema operativo derivato da Linux, webOS , che viene utilizzato nella sua linea di smartphone Palm Pre. Diversi firewall e router di rete di produttori come Cisco / Linksys usano un kernel Linux personalizzato. Ci sono tonnellate di dispositivi là fuori che usano Linux incorporato .
Sì e no (a seconda di cosa intendi per Linux)
C'è molta confusione attorno al nome Linux; Se usato spesso per riferirsi a due cose diverse.
È il caso di Android e di alcuni altri casi. Si riferisce a un kernel chiamato Linux. Una piccola ma essenziale parte di un sistema operativo. Un kernel controlla l'hardware e fornisce servizi al resto del sistema. (vedi bella risposta diagramma di @Sachin Divekar).
Nel caso di quasi tutti i sistemi desktop si riferisce a X11 + Gnu + Linux. Vedi di nuovo lo schema, ma rimuovi tutti i riferimenti a telefono, telefonia e Android. Ora cambia Application Framework in Gnu Tools, aggiungi un layer chiamato X11 e un altro chiamato Gnome o Kde ecc. Quindi rimetti l'applicazione in cima. Per i server di solito non c'è X11 o Kde / Gnome, poiché un'interfaccia utente grafica è una risorsa di risorse.
Android non utilizza X11 (anche se può, ma non per eseguire app Android) o lo strumento Gnu. Tuttavia, come Gnu + Linux, alcune delle librerie sono Gnu.
Spesso è difficile sapere quale significato abbia qualcuno quando dicono Linux. Questo è il motivo per cui si consiglia di dire "Gnu / Linux" quando intendi Gnu + Linux e "kernel Linux", come hai fatto tu, per il kernel. Tuttavia non dire kernel, a meno che tu non sappia cosa si è (ho sentito la gente aggiungere la parola kernel di fronte a Linux (perché gli è stato detto che è il termine corretto), scommetto che lo stavano usando per riferirsi a Gnu + Linux.
Non è solo incorporato e desktop in cui troverai il kernel Linux.