Kernel

El kernel de Linux es una parte extremadamente importante del software de casi todos los dispositivos Android. Esta sección describe el desarrollo del kernel de Linux y los modelos de publicación (a continuación), los kernels estables y con soporte a largo plazo (LTS) (incluyendo por qué todos los dispositivos Android deberían utilizar las versiones estables en lugar de elegir parches), la configuración y el endurecimiento del kernel, los requisitos para las interfaces y los kernels modulares (introducidos en Android O), la depuración del kernel y las pruebas de red, y SquashFS.

Desarrollo del kernel de Linux

El kernel de Linux es el mayor proyecto de software colaborativo de la historia. En 2016, más de 4.000 desarrolladores diferentes de más de 450 empresas distintas contribuyeron al proyecto y hubo 6 versiones, cada una de las cuales contenía entre 12.000 y 16.000 cambios diferentes. A finales de 2016, el tamaño del núcleo de Linux era de poco más de 56.000 archivos, con 22 millones de líneas de código, scripts de construcción y documentación (versión 4.9 del núcleo). (Para ver las estadísticas completas de desarrollo de Linux, consulte https://kernelnewbies.org/DevelopmentStatistics.)

Aunque el núcleo 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. Un portátil medio utiliza alrededor de 2 millones de líneas de código del kernel de 5 mil archivos para funcionar correctamente, mientras que el teléfono Pixel utiliza 3,2 millones de líneas de código del kernel de 6 mil archivos (debido a la mayor complejidad de un SoC).

Los lanzamientos del kernel de Linux

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

La numeración de las versiones del núcleo 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 núcleo). La versión del kernel desde entonces se ha movido a 4.x que representa 2 cambios de versión mayores.Estos números de versión son elegidos por el(los) mantenedor(es) sólo para evitar la confusión entre los usuarios causada por números de versión menores más altos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.