O Linux é um kernel em sua maioria livre semelhante ao kernel do Unix.É um dos principais exemplos de software livre e de código aberto.
No último domingo, Linus Torvalds anunciou o lançamento da nova versão 6.9 do kernel Linux, que traz diversas mudanças significativas, incluindo o módulo dm-vdo para deduplicação e compressão de dispositivos de bloco, melhorias no modo de acesso direto a arquivos no FUSE, a capacidade de criar pidfds para threads individuais, a implementação do mecanismo de token BPF, suporte para Rust em sistemas ARM64 e muito mais.
No desenvolvimento desta nova versão do Linux 6.9, 15,680 correções foram implementadas por 2,106 desenvolvedores. O tamanho do patch é de 54 MB, com alterações afetando 11,825 arquivos, e 687,954 linhas de código foram adicionadas e 225,344 linhas removidas.
O que há de novo no kernel Linux 6.9?
Nesta nova versão do kernel Linux, a 6.9, uma das características mais notáveis é a introdução do novo driver dm-vdo no Device Mapper. Este driver permite a criação de dispositivos de bloco virtuais com base em dispositivos de bloco existentes . Este novo dispositivo oferece funcionalidades como deduplicação de dados, compressão de dados, remoção de blocos vazios e a capacidade de aumentar o tamanho do dispositivo de bloco conforme necessário.
Outra mudança notável está no subsistema FUSE, onde foi introduzida uma implementação inicial do modo "passthrough" . Isso permite que os dados sejam recuperados de arquivos diretamente no nível do kernel, evitando assim um processo que seja executado no espaço do usuário. Isso pode melhorar significativamente o desempenho em determinadas situações.
Além disso, no Linux 6.9, o sistema de arquivos Ext2 foi marcado como obsoleto. Isso ocorre porque o driver suporta apenas timestamps de inode de 32 bits, que sofrerão um estouro de capacidade em 19 de janeiro de 2038. Recomenda-se o uso do ext4 em vez do ext2, pois ele é compatível com versões anteriores do sistema de arquivos Ext2.
Além disso, o antigo driver NTFS foi removido e substituído pelo novo driver NTFS3 a partir da versão 5.15 do kernel. Isso ocorreu porque o driver anterior não era atualizado há muitos anos, estava em más condições e funcionava apenas em modo de leitura.
Além disso, diversas melhorias e otimizações foram introduzidas em outros sistemas de arquivos, como Btrfs, exFAT, F2FS, XFS, entre outros, para melhorar o desempenho, a funcionalidade e a compatibilidade com diferentes dispositivos e necessidades de armazenamento.
A flag PIDFD_THREAD foi introduzida na função pidfd_open(), permitindo a criação de pidfds para threads individuais, em vez de apenas para o líder do grupo de threads. Além disso, uma implementação pseudo-FS é proposta para acessar pidfds por meio de um sistema de arquivos virtual.
A proteção contra a vulnerabilidade RFDS foi implementada nos processadores Intel Atom . Isso envolve a atualização do microcódigo e o uso da instrução VERW para limpar o conteúdo dos buffers da microarquitetura ao retornar do kernel para o espaço do usuário.
Foi adicionado suporte básico para a extensão AMD SEV-SNP (Secure Nested Paging) para proteção do sistema operacional convidado. Essa extensão proporciona operação segura de tabelas de páginas de memória aninhadas e protege contra ataques específicos em processadores AMD EPYC. O KVM planeja integrar as alterações necessárias para usar o SNP na versão 6.10.
Os módulos IMA e EVM foram migrados para o framework LSM, simplificando o código e combinando funcionalidades duplicadas. O IMA verifica a integridade dos componentes do sistema operacional usando assinaturas digitais e hashes, enquanto o EVM protege os atributos estendidos dos arquivos contra ataques que visam comprometer sua integridade.
Outras mudanças notáveis incluem :
- O Netfilter agora permite definir tabelas do espaço do usuário que estão vinculadas ao processo de controle em segundo plano. No nftables, a adição de itens a conjuntos com intervalos mesclados foi acelerada, melhorando a eficiência do sistema de filtragem de pacotes.
- Foi feito trabalho na implementação do suporte para chips Intel LunarLake, GPUs AMD RDNA3.5 e RDNA4, bem como na adaptação do código de controle de tela para Nouveau. O driver Xe drm para GPUs baseadas na arquitetura Intel Xe foi avançado para uso em placas de vídeo Intel Arc e gráficos integrados.
- Adicionado suporte para uma ampla variedade de placas e dispositivos ARM, incluindo modelos da Rockchip, Allwinner, Qualcomm, Amlogic, Mediatek, NVIDIA, Renesas e Mobileye SoC baseados em processadores MIPS. Isso expande a compatibilidade do kernel com diversas plataformas e dispositivos.
- Um novo tipo de memória compartilhada, bpf_arena, foi adicionado ao subsistema BPF, juntamente com a capacidade de gerar cookies TCP SYN arbitrários a partir de programas BPF e a criação de drivers BPF para combater a inundação de SYN.
- Foi implementado suporte para inicialização paralela de páginas de grande memória (HugeTLB), o que acelera o processo de inicialização em sistemas com grandes quantidades de RAM.
- Melhorias e otimizações foram feitas em diversas arquiteturas, incluindo ARM64, LoongArch e RISC-V, bem como em drivers específicos, como amd-pstate e a configuração USB_DEFAULT_AUTHORIZATION_MODE para dispositivos USB.
- Novos recursos e melhorias foram adicionados a ferramentas como perf e LLVM/Clang, melhorando a capacidade de desmontagem de instruções do processador e otimizando o consumo de memória ao executar determinados comandos.
- Linus Torvalds rejeitou uma proposta de redesenho mais extenso do núcleo com a introdução de definições de tipo adicionais, optando por soluções mais específicas para resolver os problemas identificados.
Se tiver interesse em saber mais, você pode encontrar os detalhes no seguinte link.