El Linux Kernel 5.9 ya está disponible y disponible para las masas. Como cualquier otra versión, Kernel 5.9 presenta funciones fantásticas junto con controladores actualizados. El desarrollo de Linux Kernel 5.9 comenzó hace aproximadamente dos meses cuando Linus Torvalds anunció el primer hito de Release Candidate (RC).
Aunque esta nueva versión trae muchas características únicas, si no es un experto en tecnología o nunca le interesó lo que sucede detrás de escena de un sistema Linux en ejecución, es posible que no le parezcan tan atractivas.
Esta publicación analizará algunas de las características que puede esperar con Linux Kernel 5.9. También le mostraremos cómo instalar Kernel 5.9 en Fedora y Ubuntu. Vamos a sumergirnos.
Características destacadas del kernel de Linux 5.9
La mayoría de estas funciones están orientadas principalmente a una mejor gestión de la memoria, los controladores y el rendimiento general del sistema. Con los lanzamientos del kernel, rara vez tenemos mejoras en la interfaz de usuario. La mayoría de estas actualizaciones se centran en el rendimiento del sistema. Gran parte de las mejoras de la GUI se realizan en el entorno de escritorio. En ese sentido, puede leer nuestra publicación sobre Las 10 mejores funciones nuevas en GNOME 3.38, que se centra principalmente en las mejoras generales de la interfaz gráfica de usuario.
1. Mejor gestión de la memoria anónima
Por memoria anónima, nos referimos a la memoria que no está respaldada por archivos, comúnmente conocida como memoria mallocada. El lanzamiento de Kernel 5.9 tiene como objetivo una mejor detección de la carga de trabajo del sistema y protección de esta memoria. Generalmente, el kernel de Linux administra la memoria anónima colocando sus páginas en una lista activa o inactiva. Cuando el sistema se queda sin recursos de memoria (presión de la memoria), las páginas no utilizadas se mueven de la lista activa a la inactiva para volver a consultarlas. En caso de más presión de memoria, se mueven a SWAP.
Anteriormente, las páginas recién creadas o de intercambio se empujaban a la lista activa. Eso, a su vez, condujo a la eliminación forzosa de las páginas usadas de la lista de inactivos. Con el kernel 5.9, las páginas recién creadas o de intercambio se colocan primero en la lista de inactivos. Solo se mueven a la lista activa después de haber sido referenciados lo suficiente. Además, para evitar que las páginas recién creadas o de intercambio intercambien páginas existentes de una lista inactiva, Kernel 5.9 viene con nuevas características para manejar la lista LRU anónima.
2. Compactación de memoria proactiva
Para mejorar el rendimiento del sistema en los sistemas x86, el procesador utiliza páginas enormes (páginas de más de 4 KB). Desafortunadamente, las páginas enormes requieren una gran cantidad de memoria libre contigua, que puede ser bastante difícil de obtener en una memoria muy fragmentada. Aunque el sistema Linux admite la desfragmentación, solo se lleva a cabo cuando una página enorme necesita asignación y puede llevar mucho tiempo. Kernel 5.9 presenta la compactación de memoria proactiva (desfragmentación), que ocurre incluso antes de que una página enorme requiera asignación, lo que ahorra tiempo para asignaciones futuras.
3. Soporte para ejecutar programas BPF en búsquedas de socket
Berkeley Packet Filter (BPF) es una tecnología utilizada para analizar el tráfico de red. Con cada lanzamiento de Kernel, siempre se realizan algunas mejoras en el BPF. Kernel 5.9 presenta un nuevo programa BPF llamado BPF_PROG_TYPE_SK_LOOKUP. El programa se ejecuta cuando la capa de transporte del modelo TCP/IP busca un conector de escucha para crear una nueva conexión (TCP) o busca un conector no conectado para un paquete (UDP).
4. Conocimiento de la capacidad de la CPU para la clase de programación de fecha límite
Desde el lanzamiento de Linux Kernel 3.14, el programador de tareas de Linux admite una clase de programación de fecha límite. Desafortunadamente, esta clase de programación tomó decisiones de programación incorrectas ya que no sabía que las CPU tienen diferentes tasas de rendimiento. Con el lanzamiento de Kernel 5.9, la clase de programación de fecha límite es consciente de las diferentes tasas de rendimiento de la CPU.
5. Soporte NFS para atributos extendidos
NFS (Network File System) es un programa que permite compartir archivos y carpetas de manera eficiente entre sistemas Linux/UNIX. Kernel 5.9 incorpora soporte para atributos extendidos que cierran algunas de las brechas presentes en NFS.
6. Compatibilidad con kernel comprimido ZSTD, ramdisk e initramfs
Para el proceso de arranque de Kernel, Linux Kernel 5.9 agrega soporte para Kernel, ramdisk e initramfs comprimidos con ZSTD. Todas estas funciones son compatibles con las arquitecturas x86 y x64. El Zstandard (ZSTD) es un algoritmo de código abierto desarrollado en lenguaje C y proporciona buenas tasas de compresión y descompresión.
Facebook, el desarrollador del programa ZSTD, cambió de initramfs comprimido xz a initramfs comprimido ZSTD, reduciendo el proceso de descompresión de 12 segundos a 3 segundos. Además, cuando se aplicó en el Kernel, les ahorró 2 segundos de tiempo de arranque.
7. Compatibilidad con las instrucciones x86 FSGSBASE
Linux 5.9 brinda soporte para las instrucciones FSGSBASE de Intel. Permiten un fácil acceso a los registros base del segmento FS y FS. Además, ofrece soporte para una nueva perilla sysctl, soporte de cifrado en línea para los sistemas de archivos EXT4 y F2FS, y soporte para reguladores de controlador integrado de Chrome OS.
8. Nueva llamada al sistema close_range()
Kernel 5.9 presenta una nueva llamada al sistema:close_range(2). La llamada permite el cierre eficiente de los descriptores de archivo más allá de stderr. La llamada al sistema resulta ser de gran utilidad para varios proyectos como administradores de servicios, libcs, tiempos de ejecución de contenedores, tiempos de ejecución de lenguajes de programación/bibliotecas estándar (Rust/Python).
Cómo instalar Linux Kernel 5.9
Ahora que ha visto algunas de estas características geniales que presenta Kernel 5.9, probablemente esté pensando en instalarlo en su distribución actual de Linux. Eso es exactamente lo que veremos en esta sección.
Sin embargo, antes de continuar, hay algunas cosas que debe tener en cuenta; Es posible que su distribución actual no esté optimizada para ejecutarse en Kernel 5.9. Por lo tanto, aunque puede obtener todo el aumento de rendimiento al actualizar a Kernel 5.9, es posible que se pierda algunas de las funciones optimizadas para su distribución con su versión actual de Kernel.
Dicho esto, le daremos un procedimiento paso a paso de cómo actualizar a Kernel 5.9. Nuestra distribución objetivo en este tutorial será Ubuntu y Fedora.
Instalar Kernel 5.9 en Ubuntu 20.04 LTS
Para comprender mejor lo que haremos, primero verifiquemos la versión del Kernel que se ejecuta en nuestro sistema. Ejecute el siguiente comando:
uname -r
Del resultado anterior, podemos ver que estamos ejecutando Kernel 5.4. Para actualizar, necesitamos descargar los archivos del Kernel para instalar. Ejecute los siguientes comandos:
cd /tmp wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900_5.9.0-050900.202010112230_all.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-image-unsigned-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-modules-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb
Una vez completada la descarga, instale los archivos con el siguiente comando:
sudo dpkg -i *.deb
Cuando se complete el proceso de instalación, reinicie su sistema y ejecute uname comando de nuevo para ver qué Kernel está ejecutando. Debería ver una salida de Kernel 5.9.
uname -r
Instalar el núcleo 5.9 en Fedora
Si es usuario de Fedora, los pasos a continuación lo guiarán en la instalación del Kernel 5.9.
Paso 1. Es posible que deba verificar el Kernel que se está ejecutando actualmente en su sistema. En mi caso tengo instalado Fedora 33 Beta que hace uso del Kernel 5.8. Ejecute el siguiente comando:
cat /etc/redhat-release uname -r
Paso 2. Instale la clave GPG.
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Paso 3. Instala el repositorio con el siguiente comando:
sudo dnf install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm
Paso 4. Instale Kernel 5.9 ejecutando el siguiente comando:
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
Paso 5. Una vez hecho esto, reinicie su sistema Fedora y ejecute el comando uname nuevamente. Debería ver una salida de Kernel 5.9.
uname -r
Conclusión
Esa es nuestra guía completa sobre las funciones de Kernel 5.9 y cómo instalarlo en Ubuntu y Fedora. Si tiene alguna pregunta o comentario, no dude en hacer clic en los comentarios a continuación.