Lanzamiento de Linux 4.20: lo que ha cambiado en la nueva versión del kernel

Ya hablamos sobre las innovaciones que se hicieron en el kernel 4.18 de Linux . Hoy hablaremos sobre lo que se introdujo en 4.20 y una breve revisión de la próxima versión.

Con un alto grado de probabilidad se llamará "5.0".


/ foto de Gregory "Slobirdr" Smith CC BY-SA

La última versión del kernel se lanzó en diciembre pasado. La actualización está disponible para descargar en el sitio web oficial . Este lanzamiento fue el poseedor del récord de la cantidad de líneas de código agregadas, su número aumentó en 354 mil. Más se agregaron solo en la versión 4.13 de Linux (septiembre de 2017). Entre las actualizaciones principales : nuevos controladores, seguridad mejorada y cambios en el trabajo con matrices.

Nuevos controladores y nuevo hardware.


Linux 4.20 agregó soporte para procesadores híbridos AMD Picasso y Raven 2, sistemas de chip Qualcomm Snapdragon 835 , así como la CPU Hygon Dhyana china basada en la arquitectura AMD Zen. Esto ampliará la cantidad de dispositivos que pueden ejecutar Linux.

También se ha comenzado a trabajar en el código para la arquitectura AMD Zen 2, pero se esperan cambios serios en futuras versiones. Los cambios también afectaron a los chips Intel Icelake: los desarrolladores agregaron soporte para el controlador DSI y la funcionalidad para controlar los modos de potencia del procesador.

Se agregó un código que es responsable de trabajar con AMD Vega 20, aunque continuará mejorando al menos hasta el lanzamiento de la GPU (su lanzamiento está programado para el primer trimestre de 2019 ).

Los cambios también afectaron el controlador VKMS (Configuración del modo de núcleo virtual), que se agregó en la versión anterior del núcleo. Simula el dispositivo de salida virtual más simple y se utiliza para organizar el trabajo del servidor X o cualquier otro subsistema de gráficos en máquinas sin monitor. Al mismo tiempo, proporciona la capacidad de usar GPU existentes. En Linux kernel 4.20, VKMS recibió compatibilidad con GEM y cursor.

Además, el nuevo núcleo podía funcionar con los trackpads Apple Magic Trackpad 2 y los controladores Xbox.

Cambios de matriz


Las matrices de longitud variable (VLA) se eliminaron del núcleo, cuyo tamaño se determina en la etapa de ejecución, en lugar de compilar el código. Disminuyeron la velocidad y podrían afectar la seguridad del sistema operativo. A Linus Torvalds se le ha pedido durante mucho tiempo que elimine VLA, y él mismo criticó activamente la decisión de usar matrices de longitud variable. En el núcleo 4.20, la mayoría de ellos finalmente fueron expulsados.

También se implementó una estructura de datos XArray, que intentaron implementar tan pronto como 4.17. Este es un tipo de datos abstracto que se comporta como una gran variedad de punteros. A diferencia de las matrices dinámicas , cuando usa XArray, no necesita cambiar nada en la unidad de control de memoria para expandir la estructura. Pero por ahora, solo la memoria caché de la página del núcleo y el mapa de memoria se están traduciendo a XArray .

Actualizaciones de seguridad


El cifrado de bloque Speck se eliminó de Linux 4.20, ya que había sospechas de que había puertas traseras en su implementación. También introdujeron la función STACKLEAK (no en 4.19), que protege a los usuarios de Linux de varios tipos de vulnerabilidades.

En particular, reduce la cantidad de información útil para los atacantes que vienen de la pila del kernel al espacio del usuario. STACKLEAK también bloquea una serie de ataques contra variables no inicializadas y ofrece herramientas para monitorear el "desbordamiento" de la pila del núcleo.

En Linux 4.20, agregaron el parche STIBP (Single Thread Indirect Branch Predictors), que protege contra ataques de tipo Spectre. Están dirigidos a la vulnerabilidad de hardware de los procesadores modernos asociados con la implementación de la computación especulativa .

Lo que piensa la comunidad sobre el kernel 4.20 de Linux


Los residentes de Hacker News señalan que Linux siempre ha tenido dificultades con los controladores y la cantidad de hardware compatible. Las actualizaciones 4.20 ayudaron a solucionar parcialmente este problema, ampliando la gama de arquitecturas disponibles para el trabajo. Sin embargo, varios usuarios están preocupados por el hecho de que con la transición a un nuevo núcleo, el sistema operativo comenzó a funcionar más lentamente.

La razón de la "regresión" fue un código adicional para proteger contra Spectre. El parche STIBP se activa por defecto y conduce a "frenos" en los sistemas que usan SMT / Hyper-Threading. En algunos casos, el rendimiento puede reducirse en un 50%. Linus Torvalds ya ha planteado la cuestión de lanzar una función a petición del usuario, y no de forma automática. Pero hasta ahora no se ha hecho nada.

Como balsoft señaló en los comentarios, la degradación del rendimiento de Linux debido a STIBP fue la razón por la que este código se eliminó de las versiones del kernel 4.19.4 y 4.14.83 . Por lo tanto, hay razones para creer que en el futuro los desarrolladores lanzarán el kernel 4.20 sin un parche que contrarreste los ataques de Spectre.


/ foto hackNY.org CC BY-SA

¿Qué van a "enseñar" 5.0


Si sigue el enfoque de Torvalds para numerar los lanzamientos por el número de dedos en una persona, la versión 21 no debería ser . Por esta razón, con un alto grado de probabilidad, 2019 será el año de nacimiento de Linux kernel 5.0.

Entre las mejoras de la próxima versión habrá soporte para nuevo hardware y dispositivos adicionales. Probablemente, los usuarios tendrán la oportunidad de conectar el teclado para juegos Cougar 700K y trabajar con Intel Chameleon96 - FPGA.

Continuará el trabajo sobre el problema Y2038 y otros problemas de seguridad, así como nuevos controladores para gráficos, unidades de procesamiento híbridas y centrales. El tan esperado túnel WireGuard VPN también llegará al núcleo .

En la próxima versión, aparecerá el subsistema I3C, que no tuvieron tiempo de agregar en 4.20. Incorpora los beneficios de I2C y SPI y es adecuado para trabajar con IoT.



Primer blog corporativo de IaaS:


Nuestro blog de Telegram IaaS:

Source: https://habr.com/ru/post/es435214/


All Articles