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.
Alguns dias atrás Linus Torvalds anunciou o lançamento da nova versão do Linux 6.3 Ele vem carregado com muitos novos recursos, alterações e correções de bugs.
Uma das mudanças mais importantes que podemos encontrar nesta nova versão do Linux 6.3 é o integração contínua do suporte à linguagem Rust, uma linguagem de programação que visa fornecer segurança e desempenho ideais, suporte inicial para processadores Meteor Lake da Intel, bem como suporte inicial para a interface do controlador Steam Deck, o console portátil da Valve que usa Linux como sistema operacional e muito mais.
Principais novidades do Linux 6.3
Nesta nova versão que vem do Linux 6.3 do As funções mais interessantes que podemos encontrar são para GPUs AMD RDNA3 e CPUs AMD Ryzen Zen 2, bem como suporte para o modo Smart Access Memory (SAM) que permite que o processador acesse toda a memória da GPU.
O compatibilidade com Snapdragon 8 Gen 2 e outros SoCs da Qualcomm para uso em smartphones e tablets Android, aprimoramentos de áudio para o HP EliteDesk 800 G6 Tower PC e Dell Precision 3260 Workstation, bem como melhor suporte para o HP Elitebook, o laptop para jogos HP OMEN 16-n0xxx.
Outra mudança que se destaca Linux 6.3 é a de que remove o suporte para o clássico compilador Intel C/C++ (ICC), que não é atualizado há três anos, bem como vários drivers DRM desatualizados. Ele também melhora o suporte para NVIDIA BlueField Processing Units (DPUs), que são placas de rede inteligentes que podem executar aplicativos em paralelo com a CPU.
Outra característica importante que foi adicionado ao Linux 6.3 é a nova ferramenta rtla hwnoise, qual é uma ferramenta para detectar e quantificar o ruído relacionado ao hardware. Recupera o resumo periódico do rastreador osnoise em execução com as interrupções desabilitadas. Ao desabilitar interrupções e agendamento de encadeamento, somente hardware não mascarável e ruído relacionado à interrupção são permitidos. De acordo com a descrição feita pelos mantenedores da ferramenta, esta também permite configurações de rastreadores de ruído e coleta de saída do rastreador. Em suma,
Em princípio, o ruído de hardware deve ser zero no sistema operacional Linux. No entanto, verifica-se que nem sempre é esse o caso. Na operação do sistema operacional, pode-se enfrentar duas fontes principais de ruído. Ruído de operações do sistema operacional e ruído relacionado ao hardware. No contexto da computação de alto desempenho (HPC), por exemplo, o ruído do sistema operacional (osnoise) refere-se à interferência sofrida por um aplicativo devido a atividades dentro do sistema operacional.
Além disso, foi adicionada ao mecanismo de sequências reiniciáveis a possibilidade de passar identificadores de execução paralela (ID de simultaneidade do mapa de memória) identificados com o número da CPU.
Dos demais mudanças que se destacam:
- Em sistemas com processadores baseados na arquitetura RISC-V, foi implementado o uso de instruções "ZBB" para agilizar as operações das strings.
- Para sistemas baseados na arquitetura do conjunto de instruções LoongArch (usado nos processadores Loongson 3 5000 e implementando um novo RISC ISA semelhante ao MIPS e RISC-V), suporte para randomização do espaço de endereço do kernel (KASLR), realocação do kernel na memória (relocação), parada de ponto de hardware e mecanismo kprobe.
- O mecanismo DAMOS (Esquemas de operação baseados em monitoramento de acesso a dados), que permite liberar memória com base na frequência de acesso à memória, oferece suporte a filtros para excluir certas áreas da memória do processamento em DAMOS
- A biblioteca C padrão mínima Nolibc implementa suporte para a arquitetura s390 e o conjunto de instruções Arm Thumb1 (além do suporte para ARM, AArch64, i386, x86_64, RISC-V e MIPS).
- O Objtool foi otimizado para acelerar as compilações do kernel e reduzir o consumo máximo de memória durante as compilações (ao compilar o kernel no modo allyesconfig, não há problemas com o encerramento forçado do processo em sistemas com 32 GB de RAM).
- O suporte para o assembly do kernel pelo compilador Intel ICC foi descontinuado, o que está fora de serviço há muito tempo e ninguém expressou o desejo de corrigi-lo.
- No Btrfs, para reduzir a fragmentação do grupo de blocos, as extensões são divididas por tamanho ao alocar blocos, ou seja, qualquer grupo de blocos agora é limitado a pequenas (até 128 KB), médias (até 8 MB) e grandes extensões.
- O mecanismo memfd, que permite identificar uma área de memória por meio de um descritor de arquivo passado entre os processos, adicionou a capacidade de criar áreas onde a execução do código é proibida (memfd não executável) e é impossível definir direitos de execução em o futuro.
- Uma nova operação PR_SET_MDWE prctl foi adicionada para bloquear tentativas de incluir direitos de acesso à memória que permitem a gravação e a execução ao mesmo tempo.
- Para sistemas baseados em ARM64, foi adicionado um novo destino de compilação "virtconfig" que, quando selecionado, ativa apenas o conjunto mínimo de componentes do kernel necessários para inicializar os sistemas de virtualização.
- Adicionado suporte para filtragem de chamadas do sistema usando o mecanismo seccomp para a arquitetura m68k.
- Adicionado suporte para dispositivos CRB TPM2 (Command Response Buffer) integrados de processadores AMD Ryzen baseados na tecnologia Microsoft Pluton.
- Um novo parâmetro sysctl default_rps_mask foi adicionado, por meio do qual você pode definir as configurações padrão para RPS (Receive Packet Steering), que é responsável por distribuir o processamento do tráfego de entrada entre os núcleos da CPU no nível do controlador de interrupção.
Finalmente se você estiver interessado em saber mais sobre isso, você pode consultar os outros detalhes em o seguinte link.