Lanzamento do sistema operativo NetBSD 9.0

Dispoñible versión principal do sistema operativo NetBSD 9.0, no que se implementa a seguinte parte de novas funcións. Para cargar preparado imaxes de instalación de 470 MB de tamaño. A versión de NetBSD 9.0 está dispoñible oficialmente en versións para 57 arquitecturas de sistemas e 15 familias de CPU diferentes.

Separadamente, hai 8 portos compatibles principalmente que forman o núcleo da estratexia de desenvolvemento de NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 e xen. 49 portos asociados a CPU como alpha, hppa, m68010, m68k, sh3, sparc e vax están clasificados na segunda categoría, é dicir. aínda son compatibles, pero perderon a súa relevancia ou non teñen un número suficiente de desenvolvedores interesados ​​no seu desenvolvemento. Un porto (acorn26) inclúese na terceira categoría, que contén portos inoperantes que poden ser eliminados se non hai entusiastas interesados ​​no seu desenvolvemento.

Chave melloras NetBSD 9.0:

  • Engadiuse un novo hipervisor NVMM, que admite mecanismos de virtualización de hardware SVM para CPU AMD e VMX para CPU Intel. Unha característica especial de NVMM é que a nivel do núcleo só se realiza o conxunto mínimo necesario de enlaces en torno aos mecanismos de virtualización de hardware e todo o código de emulación de hardware móvese fóra do núcleo ao espazo do usuario. Para xestionar máquinas virtuais, preparáronse ferramentas baseadas na biblioteca libnvmm, así como o paquete qemu-nvmm para executar sistemas convidados mediante NVMM. A API libnvmm abrangue funcións como crear e executar unha máquina virtual, asignar memoria ao sistema invitado e asignar VCPU. Non obstante, libnvmm non contén funcións de emulador, senón que só proporciona unha API que che permite integrar o soporte de NVMM nos emuladores existentes como QEMU;
  • Ofrece soporte para arquitectura AArch64 de 64 bits (ARMv8-A), incluíndo sistemas de servidor compatibles con ARM Servidor Listo (SBBR+SBSA) e sistemas big.LITTLE (unha combinación de núcleos potentes, pero que consumen enerxía, e núcleos menos produtivos, pero máis eficientes enerxéticamente nun chip). Admite a execución de aplicacións de 32 bits nun ambiente de 64 bits mediante o uso de COMPAT_NETBSD32. Pódense usar ata 256 CPUs. A execución no emulador QEMU e SoC é compatible:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Placas de servidor SBSA/SBBR como Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Ampliouse a compatibilidade con dispositivos baseados na arquitectura ARMv7-A. Engadido soporte para sistemas big.LITTLE e arranque mediante UEFI. Pódense usar ata 8 CPU. Engadido soporte SoC:
    • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
    • Amlogic S805
    • Brazo 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
  • Controladores de gráficos actualizados para GPU Intel (soporte adicional para Intel Kabylake), NVIDIA e AMD para sistemas x86. O subsistema DRM/KMS está sincronizado co núcleo Linux 4.4. Engadíronse novos controladores de GPU utilizados nos sistemas ARM, incluíndo controladores DRM/KMS para Allwinner DE2, Rockchip VOP e TI AM335x LCDC, controlador de framebuffer para ARM PrimeCell PL111 e TI OMAP3 DSS;
  • Compatibilidade mellorada para executar NetBSD como SO convidado. Engadido soporte para o dispositivo fw_cfg (Configuración de firmware QEMU), Virtio MMIO e PCI para ARM. Soporte proporcionado para HyperV para x86;
  • Implementáronse contadores para supervisar o rendemento, o que lle permite analizar o rendemento do núcleo e das aplicacións do usuario sobre a marcha. O control realízase mediante o comando tprof. Admítense as plataformas Armv7, Armv8 e x86 (AMD e Intel);
  • Para arquitectura x86_64 engadido un mecanismo para aleatorizar o espazo de enderezos do núcleo (KASLR, Kernel Address Space Layout Randomization), que permite aumentar a resistencia a certos tipos de ataques que explotan vulnerabilidades do núcleo xerando unha disposición aleatoria do código do núcleo na memoria en cada arranque;
  • Engadido soporte para a arquitectura x86_64 KLEAK, unha técnica para detectar fugas de memoria do núcleo, que nos permitiu atopar e corrixir máis de 25 erros no núcleo;
  • Para as arquitecturas x86_64 e Aarch64, implícase o mecanismo de depuración KASan (Kernel address sanitizer), que permite identificar erros de memoria, como o acceso a bloques de memoria xa liberados e desbordamentos de búfer;
  • Engadiuse o mecanismo KUBSAN (Kernel Undefined Behavior Sanitizer) para detectar casos de comportamento indefinido no núcleo
  • Para a arquitectura x86_64, implementouse o controlador KCOV (Kernel Coverage) para analizar a cobertura do código do núcleo;
  • Engadiuse Userland Sanitizer para detectar erros e anomalías ao executar aplicacións no espazo do usuario;
  • Engadido mecanismo KHH (Kernel Heap Hardening) para protexer o montón de certos tipos de erros de memoria;
  • Realizado auditoría de seguridade da pila de rede;
  • Ferramentas de depuración de ptrace melloradas;
  • Limpouse o núcleo de subsistemas antigos e non mantidos, como NETISDN (controladores daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 e ipkdb;
  • Ampliáronse as capacidades do filtro de paquetes e optimizouse o rendemento FP, que agora está activado por defecto;
  • Actualizouse a implementación do sistema de ficheiros ZFS para facelo axeitado para o uso diario. Aínda non se admite a posibilidade de arrincar desde ZFS e usar ZFS na partición raíz;
  • Engadíronse novos controladores, incluíndo bwfm para dispositivos sen fíos Broadcom (Full-MAC), ena para adaptador de rede Amazon Elastic e mcx para adaptadores Ethernet Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN ;
  • O subsistema SATA foi redeseñado, engadindo soporte para NCQ e mellorando o manexo de erros xerados pola unidade;
  • Proposto novo marco usbnet para crear controladores para adaptadores Ethernet cunha interface USB;
  • Versións actualizadas de compoñentes de terceiros, incluíndo 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

Engadir un comentario