een significante release van het besturingssysteem , waarin een nieuwe reeks mogelijkheden is gerealiseerd. Voor download installatie-images van 470 MB. De release van NetBSD 9.0 is officieel beschikbaar in builds voor en 15 verschillende CPU-families.
Er zijn 8 primair ondersteunde ports geïdentificeerd die de kern van de ontwikkelingsstrategie van NetBSD vormen: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 en xen. 49 ports, gerelateerd aan CPUs zoals alpha, hppa, m68010, m68k, sh3, sparc en vax, zijn ingedeeld in de tweede categorie, dat wil zeggen, worden nog steeds ondersteund, maar hebben al hun relevantie verloren of hebben niet genoeg geïnteresseerde ontwikkelaars voor hun verdere ontwikkeling. Eén port (acorn26) is opgenomen in de derde categorie, waarin niet-functionerende ports zijn geplaatst die in aanmerking komen voor verwijdering als er geen geïnteresseerde enthousiastelingen voor hun ontwikkeling gevonden kunnen worden.
Belangrijkste NetBSD 9.0:
- Een nieuwe hypervisor is toegevoegd , die hardwaremechanismen voor virtualisatie ondersteunt, SVM voor AMD CPU's en VMX voor Intel CPU's. Het bijzondere van NVMM is dat er op kernniveau alleen de minimaal benodigde set wrappers rond de hardwaremechanismen voor virtualisatie wordt uitgevoerd, terwijl alle hardware-emulatiecode uit de kern naar de gebruikersruimte is verplaatst. Voor het beheer van virtuele machines is gereedschap voorbereid op basis van de libnvmm-bibliotheek, evenals het qemu-nvmm pakket voor het uitvoeren van gastsystemen met behulp van NVMM. De API van libnvmm dekt functies zoals het creëren en starten van een virtuele machine, het toewijzen van geheugen aan het gast systeem, en de distributie van VCPU. Daarbij bevat libnvmm geen emulatorfunctie, maar biedt het alleen een API waarmee ondersteuning voor NVMM kan worden geïntegreerd in bestaande emulators, zoals QEMU;
- Ondersteuning voor de 64-bits architectuur AArch64 (ARMv8-A) is verzekerd, inclusief serversystemen die voldoen aan de eisen van ARM (SBBR+SBSA), en big.LITTLE-systemen (een combinatie van krachtige, maar energie-intensieve kernen en minder krachtige, maar energiezuinigere kernen op één chip). Het draaien van 32-bits applicaties in een 64-bits omgeving is mogelijk door het gebruik van COMPAT_NETBSD32. Tot 256 CPU's kunnen worden gebruikt. Ondersteuning voor draaien in de QEMU-emulator en SoC:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- Serverborden SBSA/SBBR, zoals Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Uitgebreide ondersteuning voor apparaten op basis van de ARMv7-A-architectuur. Ondersteuning voor big.LITTLE-systemen en opstarten via UEFI toegevoegd. Tot 8 CPU's kunnen worden gebruikt. Ondersteuning voor SoC toegevoegd:
- Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
- Amlogic S805
- Arm Versatile Express V2P-CA15
- Broadcom BCM2836, BCM2837
- Intel Cyclone V SoC FPGA
- NVIDIA Tegra K1 (T124)
- Samsung Exynos 5422
- TI AM335x, OMAP3
- Xilinx Zynq 7000
- De grafische stuurprogramma's voor Intel GPU's zijn bijgewerkt (ondersteuning voor Intel Kabylake toegevoegd), NVIDIA en AMD voor x86-systemen. De DRM/KMS-subsysteem is gesynchroniseerd met de Linux-kernel 4.4. Nieuwe stuurprogramma's voor GPU's zijn toegevoegd, gebruikt op ARM-systemen, waaronder DRM/KMS-stuurprogramma's voor Allwinner DE2, Rockchip VOP en TI AM335x LCDC, framebuffer-stuurprogramma voor ARM PrimeCell PL111 en TI OMAP3 DSS;
- Verbeterde ondersteuning voor NetBSD als gast-OS. Ondersteuning voor het apparaat fw_cfg (QEMU Firmware Configuration), Virtio MMIO en PCI voor ARM toegevoegd. HyperV-ondersteuning voor x86 verzekerd;
- Counters voor prestatiemonitoring zijn geïmplementeerd, waarmee de prestatie van de kernel en gebruikersapplicaties in realtime kan worden geanalyseerd. Beheer gebeurt via de tprof-opdracht. Ondersteunde platforms zijn Armv7, Armv8 en x86 (AMD en Intel);
- Voor de x86_64-architectuur de mechanisme voor randomisatie van de kernel-adresruimte (KASLR, Kernel Address Space Layout Randomization), die de weerstand tegen bepaalde soorten aanvallen op basis van kwetsbaarheden in de kernel verhoogt door bij elke opstart een willekeurige indeling van de kernelcode in het geheugen te creëren;
- Ondersteuning toegevoegd voor de x86_64-architectuur , een techniek voor het opsporen van geheugenlekken in de kernel, waarmee meer dan 25 fouten in de kernel zijn gevonden en gecorrigeerd;
- Voor de x86_64 en Aarch64-architecturen is de debugmechanisme KASan (Kernel Address Sanitizer) geïmplementeerd, waarmee fouten in het geheugenbeheer, zoals toegang tot al vrijgegeven geheugenblokken en bufferoverlopen, kunnen worden opgespoord;
- Het KUBSAN-mechanisme (Kernel Undefined Behavior Sanitizer) is toegevoegd voor het opsporen van gevallen van ongedefinieerd gedrag in de kernel.
- Voor de x86_64-architectuur is de KCOV-stuurprogramma (Kernel Coverage) geïmplementeerd voor de analyse van de dekking van kernelcode;
- Userland Sanitizer toegevoegd om fouten en anomalieën bij het uitvoeren van applicaties in de gebruikersruimte op te sporen;
- Het KHH-mechanisme (Kernel Heap Hardening) is toegevoegd ter bescherming van de heap tegen bepaalde soorten geheugenbeheerfouten;
- veiligheidsaudit van de netwerstack is uitgevoerd;
- De debugtool ptrace is verbeterd;
- De kernel is gereinigd van oude en niet-ondersteunde subsystemen, zoals NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 en ipkdb;
- De mogelijkheden zijn uitgebreid en de prestaties van de pakketfilter zijn geoptimaliseerd. , dat nu standaard is ingeschakeld;
- De implementatie van het ZFS-bestandssysteem is bijgewerkt en is nu geschikt voor dagelijks gebruik. Booten vanaf ZFS en het gebruik van ZFS op de root-partitie wordt voorlopig nog niet ondersteund;
- Er zijn nieuwe drivers toegevoegd, waaronder bwfm voor draadloze Broadcom-apparaten (Full-MAC), ena voor Amazon Elastic Network Adapter en mcx voor Ethernet-adapters van Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
- Het SATA-subsysteem is herzien en ondersteunt nu NCQ, met verbeterde foutverwerking die door de schijf wordt gegenereerd;
- een nieuw usbnet-framework voor het maken van drivers voor USB-interface Ethernet-adapters;
- De versies van externe componenten zijn bijgewerkt, waaronder GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 en SQLite 3.26.0.
Bron: opennet.ru
