¿Android realmente usa el mismo kernel que Linux?

25

Leí en alguna parte que Android usa el kernel de Linux. ¿Es realmente cierto? Pensé que el Kernel de Linux estaba destinado a los sistemas operativos de escritorio.

Mysterio
fuente
12
El kernel de Linux se usa en muchos dispositivos integrados . Android está en el límite entre incrustado y de escritorio, hay dispositivos mucho más pequeños que ejecutan Linux.
Gilles 'SO- deja de ser malvado'
15
Los teléfonos modernos son básicamente computadoras de escritorio con pantallas pequeñas. Si los compara con los equipos de escritorio de hace diez años (que ejecutaban Linux perfectamente), encontrará que los teléfonos superan a los equipos de escritorio más antiguos en casi todas las especificaciones.
David Schwartz
2
Probablemente importante enfatizar tres cosas: 1) la personalización del kernel de Linux: hay muchas cosas que se pueden configurar de manera diferente según el uso esperado u omitir si no es necesario, y 2) el kernel generalmente es solo un componente (aunque esté cerca o sea el componente de "nivel inferior") en una pila de software responsable en última instancia de una experiencia orientada al usuario, ya sea de escritorio, teléfono, servidor o cualquier otra cosa. La mayoría de lo que hace que Android sea "Android" no es el núcleo, como se puede ver a continuación, y 3) el hardware del teléfono es realmente poderoso en estos días.
LawrenceC
@ultrasawblade dijo que el núcleo es responsable de la experiencia del usuario. Esto no es verdad. El usuario mira hacia abajo en la pila, los componentes en la parte inferior son los más ocultos. En Debian, un popular Gnu + Linux, puede usar el núcleo a bsd para hacer Gnu + bsd. No cambia mucho las cosas desde el punto de vista de los usuarios. Un administrador del sistema puede ver una diferencia si sus herramientas no ocultan esta diferencia para ella.
ctrl-alt-delor
Dije que "el kernel generalmente es solo un componente en una pila de software responsable en última instancia de una experiencia orientada al usuario", lo que significa que el kernel no es responsable por completo, sino que solo está jugando un papel.
LawrenceC

Respuestas:

40

Arquitectura de Android

ingrese la descripción de la imagen aquí

Android confía en Linux para los servicios centrales del sistema, como seguridad, administración de memoria, administración de procesos, pila de red y modelo de controlador. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.

La última versión de Android ejecuta Linux versión 3.10 ( fuente ).

Y mi comentario en su segunda oración es que Linux Kernel no está diseñado solo para sistemas operativos de escritorio. Sus casos de uso varían de SO de escritorio a servidores, mainframes y supercomputadoras a dispositivos integrados.

Linux es un núcleo de sistema operativo ampliamente portado. Debido a su bajo costo y facilidad de personalización, el kernel de Linux se usa en una gama muy diversa de arquitecturas de computadora: en los dispositivos portátiles y los sistemas mainframe, en dispositivos que van desde teléfonos móviles hasta supercomputadoras.

En la otra nota: Palm (luego adquirida por HP) utiliza el sistema operativo derivado de Linux, webOS , que se utiliza en su línea de teléfonos inteligentes Palm Pre. Varios cortafuegos y enrutadores de red de fabricantes como Cisco / Linksys utilizan kernel de Linux personalizado. Hay toneladas de dispositivos que están utilizando Linux incorporado .

Sachin Divekar
fuente
2
No sé por qué decir que el núcleo no está destinado a sistemas operativos de escritorio. Funciona perfectamente bien en dispositivos de escritorio. También funciona bien en muchas otras clases de dispositivos, por lo que tal vez quisiste decir que no es exclusivamente para dispositivos de escritorio.
Richm
@Richm, gracias por señalarlo. Lo he corregido en la respuesta.
Sachin Divekar
En las plataformas Linux / UNIX, el escritorio es un conjunto de aplicaciones que utilizan los servicios del kernel. Esto facilita agregar, intercambiar o eliminar escritorios. Los servidores a menudo reemplazan el escritorio con una carcasa de terminal.
BillThor
¿No es un "teléfono" solo una forma de escritorio? :-p
johannes
Tenga en cuenta que Android usó originalmente una versión muy modificada del kernel de Linux, pero a partir de 3.5, muchas de las funciones se fusionan nuevamente en el kernel principal. Android 4.4 actualmente se ejecuta en un kernel Linux 3.4 mucho menos parcheado (una versión a largo plazo)
dtech
6

Sí, al igual que muchos otros dispositivos integrados. Muchos enrutadores también usan un sistema operativo basado en Linux, ya que, como dijo Sachin, es fácilmente personalizable.

Aquí hay una captura de pantalla de Xubuntu mía, Running mksh y Android kernel 3.0.8+ (de las fuentes de Android x86) Xubuntu Ejecutando mksh y Android kernel 3.0.8+

Jonathan
fuente
3

Sí y no (dependiendo de lo que quieras decir con Linux)

Hay mucha confusión sobre el nombre de Linux; Si a menudo se usa para referirse a dos cosas diferentes.

  • Es el caso de Android, y algunos otros casos. Se refiere a un Kernel llamado Linux. Una parte pequeña pero esencial de un sistema operativo. Un kernel controla el hardware y proporciona servicios al resto del sistema. (Ver la bonita respuesta del diagrama de @Sachin Divekar).

  • En el caso de casi todos los sistemas de escritorio, se refiere a X11 + Gnu + Linux. Vea el diagrama nuevamente, pero elimine todas las referencias a teléfonos, telefonía y Android. Ahora cambie Application Framework a Gnu Tools, agregue una capa llamada X11 y otra llamada Gnome o Kde, etc. Luego vuelva a colocar la aplicación en la parte superior. Para los servidores generalmente no hay X11 o Kde / Gnome, ya que una interfaz gráfica de usuario es una gran cantidad de recursos.

Android no usa X11 (aunque puede hacerlo, pero no para ejecutar aplicaciones de Android) o la herramienta Gnu. Sin embargo, como Gnu + Linux, algunas de las bibliotecas son Gnu.

A menudo es difícil saber qué significado tiene alguien cuando dice Linux. Es por eso que se recomienda decir "Gnu / Linux" cuando se refiere a Gnu + Linux y "kernel de Linux", como lo hizo, para el kernel. Sin embargo, no diga kernel, a menos que sepa cuál es (he escuchado que la gente agrega la palabra kernel frente a Linux (porque se les dijo que es el término correcto), apuesto a que lo estaban usando para referirse a Gnu + Linux.

ctrl-alt-delor
fuente
2

No es solo incrustado y escritorios donde encontrará el kernel de Linux.

  • Se están ejecutando 490 de las 500 supercomputadoras principales, la completa, Gnu / Linux.
  • Alrededor del 80% de los servidores web ejecutan Gnu / Linux.
  • La mayor parte de la infraestructura de Internet ejecuta Gnu / Linux o son dispositivos integrados. De estos dispositivos integrados, una gran proporción tendrá el núcleo llamado Linux.
ctrl-alt-delor
fuente
1
Ahora son las 500 mejores supercomputadoras que ejecutan Linux .
David Refoua