O kernel do Linux é a espinha dorsal dos sistemas operacionais (SO) Linux e é a interface fundamental entre o hardware de um computador e seus processos.
O lançamento da nova versão do Linux 6.6, que vem com um grande número de mudanças e melhorias e das quais se destaca um novo agendador de tarefas EEVDF, o mecanismo de pilha oculta para proteção contra explorações, o suporte fs-verity no OverlayFS, rastreamento aprimorado de exportação de símbolos “somente GPL” e muito mais.
A nova versão inclui 15.291 correções e aproximadamente 44% de todas as alterações introduzidas no 6.6 estão relacionadas a drivers de dispositivos, 17% à atualização de código específico para arquiteturas de hardware e o restante é para pilha de rede, subsistemas e assim por diante.
Principais novidades do Linux 6.6
Nesta nova versão apresentada do Linux 6.6, um novo agendador de tarefas EEVDF que substitui o agendador CFS. Observa-se que o EEVDF, ao escolher o próximo processo para o qual transferir a execução, leva em consideração os processos que não receberam recursos de processador suficientes ou que receberam uma quantidade injusta de tempo de processador. No primeiro caso, a transferência do controle do processo é forçada e, no segundo, ao contrário, é adiada. Espera-se que EEVDF reduza atrasos em tarefas com as quais o CFS tem lutado programação.
Outra mudança que se destaca nesta nova versão do Linux Kernel 6.6 é que o subsistema io_uring adicionou suporte inicial para comandos e operações específicas de soquete de rede, como sysctl io_uring_disabled foi adicionado para desabilitar io_uring em todo o sistema, isso menciona que se ganho um aumento no desempenho e a redução da latência ao realizar operações de I/O após realizar alterações chega a 37%.
Além disso, nota-se também que Foram feitas alterações no processamento de símbolos internos da categoria "somente GPL", com o objetivo de dificultar o uso de camadas GPL por módulos proprietários para evitar restrições de acesso a subsistemas do kernel que permitem apenas código licenciado pela GPL.
Para arquitetura RISC-V, suporte adicionado para acessar contadores de desempenho do espaço do usuário e a capacidade de colocar um core dump após uma falha em uma área além do limite de 4 GB.
Em relação às melhorias para sistemas de arquivos, no Linux 6.6 OverlayFS adicionou suporte para armazenar hashes fs-verity no atributo estendido overlay.verity (xattr), que pode ser usado para verificar a integridade e autenticidade de arquivos nas camadas subjacentes do OverlayFS usando chaves criptográficas e hashes. Assim, OverlayFS agora inclui todas as alterações necessárias para que o projeto Composefs funcione como complemento aos sistemas de arquivos OverlayFS e EROFS.
No Btrfs, o mecanismo integrado de verificação de integridade foi descontinuado que é habilitado em tempo de compilação por meio do parâmetro BTRFS_FS_CHECK_INTEGRITY. O mecanismo especificado ficou sem suporte, não é mais testado e cria carga adicional na CPU e na memória. Além disso, o Btrfs otimizou o desempenho do novo código de verificação FS (scrub).
En Ext4, adicionou verificações periódicas de atualização do superbloco e as operações de alocação de memória foram aceleradas escrevendo no final do arquivo.
Foi adicionado suporte ao ublk para dispositivos de armazenamento zoneados (que dividem grupos de blocos ou setores em zonas, onde a adição sequencial de dados só é permitida com a atualização de todo o grupo de blocos).
ReiserFS passou de compatível a obsoleto, Além disso, o ReiserFS está programado para encerrar o suporte em 2025. Os motivos para descontinuar o ReiserFS incluem a estagnação na manutenção deste FS, o problema não resolvido de 2038, a falta de recursos de tolerância a falhas e o desejo de reduzir os custos de mão de obra para manter mudanças comuns para sistemas de arquivos relacionados ao suporte da nova API para montagem.
Por outro lado, também destaca a migração contínua de mudanças da filial Rust-for-Linux, Pois bem, agora foi feita a transição para o uso das versões Rust 1.71.1 e bindgen 0.65.1 e com isso é mencionado que o traço 'Zeroable' foi implementado, macros procedurais foram adicionadas, compatibilidade com '#[pin_data]' é garantido e as capacidades do módulo 'types' foram expandidas.
Adicionado suporte para compilação com compilador Clang com modo de proteção CFI, que bloqueia violações da ordem de execução normal (fluxo de controle) como resultado do uso de explorações que alteram ponteiros de função armazenados na memória. Para a arquitetura RISC-V, a randomização da localização do kernel na memória durante a inicialização está habilitada.
A menção à Agência de Segurança Nacional dos EUA foi removida. das opções associadas à ativação do sistema de controle de acesso do aplicativo SELinux. Como o projeto é desenvolvido sob a proteção da comunidade há 20 anos e é apoiado por mantenedores independentes, decidiu-se passar a usar o nome "SELinux" em vez de "NSA SELinux" nos comentários e na documentação.
Finalmente, se você estiver interessado em saber mais sobre isso sobre este novo lançamento, você pode conferir os detalhes no link a seguir