Android utilizza davvero lo stesso kernel di Linux?


25

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.


12
Il kernel Linux viene utilizzato su molti dispositivi integrati . Android è al confine tra embedded e desktop, ci sono dispositivi molto più piccoli con Linux.
Gilles 'SO- smetti di essere malvagio' il

15
I telefoni moderni sono fondamentalmente desktop con display di piccole dimensioni. Se li confronti con i desktop di dieci anni fa (che eseguiva Linux bene), scoprirai che i telefoni battono i desktop più vecchi su quasi tutte le specifiche.
David Schwartz,

2
Probabilmente è importante sottolineare tre cose - 1) la personalizzazione del kernel Linux - ce ne sono molte che possono essere configurate in modo diverso in base all'uso previsto o omesse se non necessarie, e 2) il kernel è generalmente solo un componente (anche se vicino o è il componente "di livello inferiore") in una pila di software alla fine responsabile di un'esperienza rivolta all'utente, desktop, telefono, server o altro. La maggior parte di ciò che rende Android "Android" non è il kernel, come puoi vedere dal basso, e 3) l'hardware del telefono è davvero potente in questi giorni.
LawrenceC,

@ultrasawblade ha dichiarato che il kernel è responsabile dell'esperienza dell'utente. Questo non è vero. L'utente guarda in basso nello stack, i componenti in basso sono i più nascosti. In Debian un popolare Gnu + Linux, puoi usare il kernel a bsd creando Gnu + bsd. Non cambia molto le cose dal punto di vista degli utenti. Un amministratore di sistema potrebbe vedere una differenza se i suoi strumenti non nascondono questa differenza per lei.
ctrl-alt-delor,

Ho detto "il kernel è generalmente solo un componente in una pila di software alla fine responsabile di un'esperienza rivolta agli utenti" - significa che il kernel non è interamente responsabile di esso, ma sta solo giocando un ruolo.
LawrenceC,

Risposte:


40

Architettura di Android

inserisci qui la descrizione dell'immagine

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 .


2
Non so perché dire che il kernel non è pensato per i sistemi operativi desktop. Funziona perfettamente su dispositivi desktop. Funziona bene anche su molte altre classi di dispositivi, quindi forse intendevi dire che non è esclusivamente per dispositivi desktop.
Richm,

@Richm, grazie per averlo sottolineato. L'ho corretto nella risposta.
Sachin Divekar,

Sulle piattaforme Linux / UNIX il desktop è un insieme di applicazioni che utilizzano i servizi del kernel. Ciò semplifica l'aggiunta, lo scambio o la rimozione di desktop. I server sostituiscono spesso il desktop con una shell terminale.
BillThor,

Un "telefono" non è solo una forma di desktop? :-p
johannes,

Nota che Android originariamente utilizzava una versione fortemente modificata del kernel linux, ma a partire da 3.5 molte funzionalità sono state fuse nuovamente nel kernel principale. Android 4.4 attualmente funziona su kernel Linux 3.4 molto meno
corredato

6

Sì, come molti altri dispositivi integrati. Molti router usano anche un sistema operativo basato su Linux, poiché, come ha detto Sachin, è facilmente personalizzabile.

Ecco un mio screenshot di Xubuntu, Esecuzione di mksh e kernel Android 3.0.8+ (dai sorgenti Android x86) Xubuntu Esecuzione di mksh e kernel Android 3.0.8+


3

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.


2

Non è solo incorporato e desktop in cui troverai il kernel Linux.

  • Sono in esecuzione 490 dei primi 500 super computer, il Gnu / Linux completo.
  • Circa l'80% dei server Web utilizza Gnu / Linux.
  • La maggior parte dell'infrastruttura Internet esegue Gnu / Linux o sono dispositivi incorporati. Di questi dispositivi integrati, gran parte avrà il kernel chiamato Linux.

1
Ora sono tutti e 500 i migliori supercomputer che eseguono Linux .
David Refoua,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.