ProHoster > Lançamento do sistema operacional NetBSD 9.0
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.
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:
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.