O Android realmente usa o mesmo kernel que o Linux?

25

Eu li de algum lugar que o Android usa o Linux Kernel. É mesmo verdade? Eu pensei que o kernel do Linux era para sistemas operacionais de desktop.

Mysterio
fonte
12
O kernel do Linux é usado em muitos dispositivos incorporados . O Android é uma fronteira entre o incorporado e o desktop; existem dispositivos muito menores executando o Linux.
Gilles 'SO- stop be evil'
15
Os telefones modernos são basicamente desktops com telas pequenas. Se você compará-los aos desktops de dez anos atrás (que rodavam o Linux muito bem), você verá que os telefones superam os desktops mais antigos em quase todas as especificações.
David Schwartz
2
Provavelmente importante enfatizar três coisas - 1) a capacidade de personalização do kernel Linux - há muito que pode ser configurado de maneira diferente de acordo com o uso esperado ou omitido se não for necessário, e 2) o kernel é geralmente apenas um componente (embora esteja próximo ou seja o componente "nível inferior") em uma pilha de software responsável por uma experiência voltada ao usuário, seja desktop, telefone, servidor ou qualquer outra coisa. A maioria do que torna o Android "Android" não é o kernel, como você pode ver abaixo, e 3) o hardware do telefone é realmente poderoso atualmente.
LawrenceC (
@ultrasawblade disse que o kernel é responsável pela experiência do usuário. Isso não é verdade. O usuário olha para baixo na pilha, os componentes na parte inferior são os mais ocultos. No Debian, um popular Gnu + Linux, você pode usar o kernel a bsd que cria o Gnu + bsd. Isso não muda muito as coisas do ponto de vista dos usuários. Um administrador do sistema pode ver Uma diferença se suas ferramentas não ocultarem essa diferença para ela.
Ctrl-alt-delor
Eu disse que "o kernel geralmente é apenas um componente em uma pilha de software responsável por uma experiência voltada para o usuário" - não significa que o kernel é responsável por isso inteiramente, mas está apenas desempenhando um papel.
LawrenceC

Respostas:

40

Arquitetura do Android

insira a descrição da imagem aqui

O Android conta com o Linux para os principais serviços do sistema, como segurança, gerenciamento de memória, gerenciamento de processos, pilha de rede e modelo de driver. O kernel também atua como uma camada de abstração entre o hardware e o restante da pilha de software.

O Android mais recente executa a versão 3.10 do Linux ( fonte ).

E meu comentário em sua segunda frase é que o Linux Kernel não se destina apenas aos sistemas operacionais de desktop. Seus casos de uso variam de Desktop OS a Servidores, mainframes e supercomputadores a Dispositivos incorporados.

O Linux é um kernel do sistema operacional amplamente portado. Devido ao seu baixo custo e facilidade de personalização, o kernel Linux é usado em uma variedade muito diversificada de arquiteturas de computadores: nos dispositivos portáteis e nos sistemas de mainframe, em dispositivos que variam de telefones celulares a supercomputadores.

Por outro lado: a Palm (posteriormente adquirida pela HP) usa o sistema operacional derivado do Linux, o webOS , usado em sua linha de smartphones Palm Pre. Vários firewalls e roteadores de rede de fabricantes como Cisco / Linksys usam kernel Linux personalizado. Existem toneladas de dispositivos por aí que estão usando linux incorporado .

Sachin Divekar
fonte
2
Não sei por que dizer que o kernel não se destina a sistemas operacionais de desktop. Funciona perfeitamente bem em dispositivos de mesa. Também funciona bem em muitas outras classes de dispositivos, então talvez você queira dizer que não é exclusivamente para dispositivos de mesa.
Richm 27/11/11
@ Richm, obrigado por apontar. Eu o corrigi na resposta.
Sachin Divekar
Nas plataformas Linux / UNIX, a área de trabalho é um conjunto de aplicativos que usam os serviços do kernel. Isso facilita a adição, troca ou remoção de áreas de trabalho. Os servidores geralmente substituem a área de trabalho por um terminal.
BillThor
Um "telefone" não é apenas uma forma de área de trabalho? :-p
johannes
Observe que o Android originalmente usou uma versão fortemente modificada do kernel do linux, mas a partir do 3.5 muitos recursos foram incorporados ao kernel principal. Android 4.4 atualmente roda em muito menos remendado Linux 3.4 kernel (um lançamento longo prazo)
DTECH
6

Sim, como muitos outros dispositivos incorporados. Muitos roteadores também usam um sistema operacional Linux, como Sachin disse, que é facilmente personalizável.

Aqui está uma imagem minha do Xubuntu, Running mksh e Android kernel 3.0.8+ (Das fontes Android x86) Xubuntu Executando mksh e Android kernel 3.0.8+

Jonathan
fonte
3

Sim e não (dependendo do que você quer dizer com Linux)

Há muita confusão em torno do nome Linux; Se usado frequentemente para se referir a duas coisas diferentes.

  • É o caso do android, e alguns outros casos. Refere-se a um Kernel chamado Linux. Uma parte pequena mas essencial de um sistema operacional. Um kernel controla o hardware e fornece serviços para o resto do sistema. (veja o belo diagrama de respostas de @Sachin Divekar).

  • No caso de quase todos os sistemas de desktop, refere-se ao X11 + Gnu + Linux. Veja o diagrama novamente, mas remova todas as referências a telefone, telefonia e android. Agora mude o Application Framework para o Gnu Tools, adicione uma camada chamada X11 e outra chamada Gnome ou Kde etc. Em seguida, coloque o aplicativo novamente no topo. Para servidores, normalmente não há X11 ou Kde / Gnome, pois uma interface gráfica do usuário é uma quantidade de recursos.

O Android não usa o X11 (embora possa, mas não executa aplicativos do Android) ou a Ferramenta Gnu. No entanto, como o Gnu + Linux, algumas das bibliotecas são o Gnu.

Muitas vezes é difícil saber qual o significado de alguém quando diz Linux. É por isso que é recomendado dizer “Gnu / Linux” quando você quer dizer Gnu + Linux e “Linux kernel”, como você fez, para o kernel. No entanto, não diga o kernel, a menos que você saiba o que é (ouvi pessoas adicionando a palavra kernel na frente do Linux (porque foi informado que esse é o termo correto), aposto que eles o estavam usando para se referir ao Gnu + Linux.

ctrl-alt-delor
fonte
2

Não são apenas embarcações e desktops onde você encontrará o Kernel do Linux.

  • 490 dos 500 melhores super computadores estão em execução, o Gnu / Linux completo.
  • Cerca de 80% dos servidores da web estão executando o Gnu / Linux.
  • A maior parte da infraestrutura da Internet está executando o Gnu / Linux ou são dispositivos incorporados. Desses dispositivos incorporados, uma grande proporção terá o kernel chamado Linux.
ctrl-alt-delor
fonte
11
Agora são todos os 500 principais supercomputadores executando o Linux .
David Refoua