Lançamento do Linux 4.20 - o que mudou na nova versão do kernel

Já falamos sobre as inovações que foram feitas no kernel Linux 4.18 . Hoje falaremos sobre o que foi introduzido na versão 4.20 e uma breve revisão do próximo lançamento.

Com um alto grau de probabilidade, será chamado "5.0".


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

A versão mais recente do kernel foi lançada em dezembro passado. A atualização está disponível para download no site oficial . Este comunicado foi o detentor do recorde de número de linhas de código adicionadas - seu número aumentou em 354 mil. Mais foram adicionadas apenas na versão 4.13 do Linux (setembro de 2017). Entre as principais atualizações : novos drivers, segurança aprimorada e alterações no trabalho com matrizes.

Novos drivers e novo hardware


O Linux 4.20 adicionou suporte aos processadores híbridos AMD Picasso e Raven 2, sistemas de chips Qualcomm Snapdragon 835 e também à CPU chinesa Hygon Dhyana, baseada na arquitetura AMD Zen. Isso expandirá o número de dispositivos que podem executar o Linux.

O trabalho também começou no código da arquitetura AMD Zen 2, mas mudanças sérias o aguardam em versões futuras. As mudanças também afetaram os chips Intel Icelake - os desenvolvedores adicionaram suporte ao controlador DSI e funcionalidade para controlar os modos de energia do processador.

Foi adicionado um código responsável por trabalhar com o AMD Vega 20, embora continue a ser aprimorado pelo menos até o lançamento da GPU (seu lançamento está previsto para o primeiro trimestre de 2019 ).

As alterações também afetaram o driver VKMS (Virtual Kernel Mode-Setting), que foi adicionado na versão anterior do kernel. Ele simula o dispositivo de saída virtual mais simples e é usado para organizar o trabalho do servidor X ou de qualquer outro subsistema gráfico em máquinas sem monitor. Ao mesmo tempo, fornece a capacidade de usar GPUs existentes. No kernel Linux 4.20, o VKMS recebeu suporte ao GEM e ao cursor.

Além disso, o novo núcleo foi capaz de trabalhar com os trackpads Apple Magic Trackpad 2 e os controladores do Xbox.

Alterações de matriz


As matrizes de comprimento variável (VLA) foram removidas do kernel, cujo tamanho é determinado no estágio de execução, em vez de compilar o código. Eles diminuíram a velocidade e poderiam afetar a segurança do sistema operacional. Há muito tempo pede- se a Linus Torvalds que se livre do VLA e ele próprio criticou ativamente a decisão de usar matrizes de tamanho variável. No kernel 4.20, a maioria deles foi finalmente expulsa.

Também foi implementada uma estrutura de dados do XArray, que eles tentaram implementar desde a versão 4.17. Este é um tipo de dados abstrato que se comporta como uma grande variedade de ponteiros. Diferentemente das matrizes dinâmicas , ao usar o XArray, você não precisa alterar nada na unidade de controle de memória para expandir a estrutura. Mas, por enquanto, apenas o cache da página do kernel e o mapa de memórias estão sendo traduzidos para o XArray .

Atualizações de segurança


A cifra de bloco Speck foi removida do Linux 4.20, pois havia suspeitas de que houvesse backdoors em sua implementação. Eles também introduziram a função STACKLEAK (não na 4.19), que protege os usuários do Linux de vários tipos de vulnerabilidades.

Em particular, reduz a quantidade de informações úteis para invasores vindos da pilha do kernel para o espaço do usuário. O STACKLEAK também bloqueia vários ataques a variáveis ​​não inicializadas e oferece ferramentas para monitorar o "estouro" da pilha do kernel.

No Linux 4.20, eles adicionaram o patch STIBP (Single Thread Indirect Branch Predictors), que protege contra ataques do tipo Spectre. Eles visam a vulnerabilidade de hardware dos processadores modernos associados à implementação da computação especulativa .

O que a comunidade pensa sobre o kernel Linux 4.20


Os moradores do Hacker News observam que o Linux sempre teve dificuldades com os drivers e a quantidade de hardware suportada. As atualizações 4.20 ajudaram a corrigir parcialmente esse problema, expandindo a variedade de arquiteturas disponíveis para o trabalho. No entanto, vários usuários estão preocupados com o fato de que, com a transição para um novo kernel, o sistema operacional começou a funcionar mais lentamente.

O motivo da "regressão" foi um código adicional para proteção contra Spectre. O patch do STIBP é ativado por padrão e leva a "freios" em sistemas usando SMT / Hyper-Threading. Em alguns casos, o desempenho pode ser reduzido em 50%. Linus Torvalds já levantou a questão de iniciar uma função a pedido do usuário, e não automaticamente. Mas até agora nada foi feito.

Como a balsoft observou nos comentários, a degradação do desempenho do Linux devido ao STIBP foi a razão pela qual esse código foi removido das versões do kernel 4.19.4 e 4.14.83 . Portanto, há motivos para acreditar que, no futuro, os desenvolvedores lançarão o kernel 4.20 sem um patch que neutralize os ataques do Spectre.


/ foto hackNY.org CC BY-SA

O que eles vão "ensinar" 5.0


Se você seguir a abordagem de Torvalds para numerar liberações pelo número de dedos em uma pessoa, a versão 21 não deve ser . Por esse motivo, com um alto grau de probabilidade, 2019 será o ano de nascimento do kernel 5.0 do Linux.

Entre as melhorias da próxima versão , haverá suporte para novo hardware e dispositivos adicionais. Provavelmente, os usuários terão a oportunidade de conectar o teclado para jogos Cougar 700K e trabalhar com o Chameleon96 - FPGA da Intel.

Os trabalhos continuarão com a questão Y2038 e outras questões de segurança, além de novos drivers para unidades gráficas, híbridas e de processamento central. O tão esperado túnel da WireGuard VPN também chegará ao kernel .

Na próxima versão, o subsistema I3C aparecerá , que eles não tiveram tempo de adicionar na versão 4.20. Ele incorpora os benefícios do I2C e SPI e é adequado para trabalhar com a IoT.



Primeiro blog corporativo de IaaS:


Nosso blog do Telegram IaaS:

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


All Articles