Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Núcleo

El kernel de Linux es una parte extremadamente importante del software en casi todos los dispositivos Android. Esta sección describe los modelos de lanzamiento y desarrollo del kernel de Linux (a continuación), kernels estables y compatibles a largo plazo (LTS) (incluido el motivo por el cual todos los dispositivos Android deben usar versiones estables en lugar de parches selectivos), la configuración y el endurecimiento del kernel, los requisitos para las interfaces y la kernels modulares (introducidos en Android O), depuración de kernel y pruebas de red , y SquashFS .

Desarrollo del kernel de Linux

El kernel de Linux es el proyecto de software colaborativo más grande de la historia. En 2016, más de 4.000 desarrolladores diferentes de más de 450 empresas diferentes contribuyeron al proyecto y hubo 6 lanzamientos, cada uno con entre 12.000 y 16.000 cambios diferentes. A finales de 2016, el tamaño del kernel de Linux era de poco más de 56 mil archivos, que constan de 22 millones de líneas de código, scripts de compilación y documentación (versión 4.9 del kernel). (Para obtener estadísticas completas de desarrollo de Linux, consulte https://kernelnewbies.org/DevelopmentStatistics ).

Si bien el kernel de Linux contiene código para todas las diferentes arquitecturas de chips y controladores de hardware que admite, un sistema individual ejecuta solo una fracción del código base. Una computadora portátil promedio usa alrededor de 2 millones de líneas de código de kernel de 5 mil archivos para funcionar correctamente, mientras que el teléfono Pixel usa 3.2 millones de líneas de código de kernel de 6 mil archivos (debido a la mayor complejidad de un SoC).

Lanzamientos del kernel de Linux

El kernel de Linux utiliza un modelo de lanzamiento que difiere sustancialmente de los lanzamientos estándar de AOSP. Con el lanzamiento del kernel 2.6 en diciembre de 2003, la comunidad de desarrolladores de kernel cambió del modelo anterior de tener un desarrollo separado y una rama de kernel estable, y se trasladó a un modelo de rama única estable . En este modelo, se producía una nueva versión cada 2 o 3 meses, y esa versión se declaró estable y se recomendó que la ejecutaran todos los usuarios. Este cambio en el modelo de desarrollo se debió al ciclo de lanzamiento muy largo antes del kernel 2.6 (casi 3 años) y la lucha por mantener dos ramas diferentes del código base al mismo tiempo.

La numeración de las versiones del kernel comenzó en 2.6.x, donde x era un número creciente que cambiaba en cada versión (el valor del número no tiene ningún significado, aparte de que es más reciente que la versión anterior del kernel). Desde entonces, la versión del kernel se ha trasladado a 4.x, lo que representa 2 cambios de versión principales. Estos números de versión son elegidos por los mantenedores solo para evitar la confusión entre los usuarios causada por números de versiones menores más altos.