Lançamento do sistema operacional NetBSD 9.0

Disponível lançamento principal do sistema operacional NetBSD 9.0, no qual a próxima parte dos novos recursos é implementada. Para carregar preparado imagens de instalação com tamanho de 470 MB. A versão NetBSD 9.0 está oficialmente disponível em compilações para 57 arquiteturas de sistema e 15 famílias de CPU diferentes.

Separadamente, existem 8 portas suportadas principalmente que formam o núcleo da estratégia de desenvolvimento do NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 e xen. 49 portas associadas a CPUs como alpha, hppa, m68010, m68k, sh3, sparc e vax são classificadas na segunda categoria, ou seja, ainda são suportados, mas perderam relevância ou não possuem um número suficiente de desenvolvedores interessados ​​em seu desenvolvimento. Uma porta (acorn26) está incluída na terceira categoria, que contém portas inoperantes que são elegíveis para remoção se não houver entusiastas interessados ​​no seu desenvolvimento.

Chave melhorias NetBSD 9.0:

  • Adicionado novo hipervisor NVMM, que suporta mecanismos de virtualização de hardware SVM para CPUs AMD e VMX para CPUs Intel. Um recurso especial do NVMM é que, no nível do kernel, apenas o conjunto mínimo necessário de ligações em torno dos mecanismos de virtualização de hardware é executado e todo o código de emulação de hardware é movido do kernel para o espaço do usuário. Para gerenciar máquinas virtuais, foram preparadas ferramentas baseadas na biblioteca libnvmm, bem como o pacote qemu-nvmm para execução de sistemas convidados usando NVMM. A API libnvmm cobre funções como criação e execução de uma máquina virtual, alocação de memória para o sistema convidado e alocação de VCPUs. No entanto, libnvmm não contém funções de emulador, mas apenas fornece uma API que permite integrar o suporte NVMM em emuladores existentes, como QEMU;
  • Fornece suporte para arquitetura AArch64 de 64 bits (ARMv8-A), incluindo sistemas de servidor compatíveis com ARM Servidor pronto (SBBR + SBSA) e sistemas big.LITTLE (uma combinação de núcleos poderosos, mas que consomem energia, e núcleos menos produtivos, mas com maior eficiência energética em um chip). Ele suporta a execução de aplicativos de 32 bits em um ambiente de 64 bits por meio do uso de COMPAT_NETBSD32. Até 256 CPUs podem ser usadas. A execução no emulador QEMU e SoC é suportada:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIATegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Placas para servidores SBSA/SBBR, como Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • O suporte para dispositivos baseados na arquitetura ARMv7-A foi ampliado. Adicionado suporte para sistemas big.LITTLE e inicialização via UEFI. Até 8 CPUs podem ser usadas. Adicionado suporte SoC:
    • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
    • Amlogic S805
    • Braço Versátil Express V2P-CA15
    • Broadcom BCM2836, BCM2837
    • Intel Cyclone V SoC FPGA
    • NVIDIA Tegra K1 (T124)
    • Samsung Exynos 5422
    • TI AM335x, OMAP3
    • Xilinx Zynq 7000
  • Drivers gráficos atualizados para GPUs Intel (suporte adicionado para Intel Kabylake), NVIDIA e AMD para sistemas x86. O subsistema DRM/KMS é sincronizado com o kernel Linux 4.4. Adicionados novos drivers de GPU usados ​​em sistemas ARM, incluindo drivers DRM/KMS para Allwinner DE2, Rockchip VOP e TI AM335x LCDC, driver de framebuffer para ARM PrimeCell PL111 e TI OMAP3 DSS;
  • Suporte aprimorado para execução do NetBSD como sistema operacional convidado. Adicionado suporte para dispositivo fw_cfg (configuração de firmware QEMU), Virtio MMIO e PCI para ARM. Fornecido suporte para HyperV para x86;
  • Contadores foram implementados para monitorar o desempenho, permitindo analisar o desempenho do kernel e dos aplicativos do usuário dinamicamente. O controle é feito através do comando tprof. As plataformas Armv7, Armv8 e x86 (AMD e Intel) são suportadas;
  • Para arquitetura x86_64 adicionado um mecanismo para randomizar o espaço de endereço do kernel (KASLR, Kernel Address Space Layout Randomization), que permite aumentar a resistência a certos tipos de ataques que exploram vulnerabilidades no kernel, gerando um layout aleatório do código do kernel na memória a cada inicialização;
  • Adicionado suporte para arquitetura x86_64 KLEAK, uma técnica para detectar vazamentos de memória do kernel, que nos permitiu encontrar e corrigir mais de 25 erros no kernel;
  • Para arquiteturas x86_64 e Aarch64, é implementado o mecanismo de depuração KASan (Kernel address sanitizer), que permite identificar erros de memória, como acesso a blocos de memória já liberados e buffer overflows;
  • Adicionado mecanismo KUBSAN (Kernel Undefined Behavior Sanitizer) para detectar casos de comportamento indefinido no kernel
  • Para a arquitetura x86_64, o driver KCOV (Kernel Coverage) foi implementado para analisar a cobertura de código do kernel;
  • Adicionado Userland Sanitizer para detectar erros e anomalias ao executar aplicativos no espaço do usuário;
  • Adicionado mecanismo KHH (Kernel Heap Hardening) para proteger o heap de certos tipos de erros de memória;
  • Conduzido auditoria de segurança de pilha de rede;
  • Ferramentas aprimoradas de depuração ptrace;
  • O kernel foi limpo de subsistemas antigos e sem manutenção, como NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 e ipkdb;
  • Os recursos do filtro de pacotes foram expandidos e o desempenho foi otimizado NPF, que agora está habilitado por padrão;
  • A implementação do sistema de arquivos ZFS foi atualizada para torná-lo adequado ao uso diário. A capacidade de inicializar a partir do ZFS e usar o ZFS na partição raiz ainda não é suportada;
  • Novos drivers foram adicionados, incluindo bwfm para dispositivos sem fio Broadcom (Full-MAC), ena para Amazon Elastic Network Adapter e mcx para adaptadores Ethernet Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN ;
  • O subsistema SATA foi redesenhado, adicionando suporte para NCQ e melhorando o tratamento de erros gerados pelo drive;
  • Proposto novo framework usbnet para criação de drivers para adaptadores Ethernet com interface USB;
  • Versões atualizadas de componentes de terceiros, incluindo GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 e SQLite 3.26.0.

    Fonte: opennet.ru

Adicionar um comentário