Release av operativsystemet NetBSD 9.0

Tillgängliga större version av operativsystemet NetBSD 9.0, där nästa del av nya funktioner implementeras. För lastning beredd installationsbilder 470 MB i storlek. NetBSD 9.0-versionen är officiellt tillgänglig i versioner för 57 systemarkitekturer och 15 olika CPU-familjer.

Separat finns det 8 primärt stödda portar som utgör kärnan i NetBSD:s utvecklingsstrategi: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 och xen. 49 portar associerade med CPU:er som alpha, hppa, m68010, m68k, sh3, sparc och vax klassificeras i den andra kategorin, d.v.s. stöds fortfarande, men har förlorat sin relevans eller har inte tillräckligt många utvecklare som är intresserade av deras utveckling. En hamn (acorn26) ingår i den tredje kategorin, som innehåller inoperativa hamnar som kan tas bort om det inte finns några entusiaster som är intresserade av deras utveckling.

Nyckel förbättringar NetBSD 9.0:

  • Ny hypervisor tillagd NVMM, som stöder hårdvaruvirtualiseringsmekanismerna SVM för AMD-processorer och VMX för Intel-processorer. En speciell egenskap hos NVMM är att på kärnnivån utförs endast den minsta nödvändiga uppsättningen bindningar runt hårdvaruvirtualiseringsmekanismer, och all hårdvaruemuleringskod flyttas ut från kärnan till användarutrymmet. För att hantera virtuella maskiner har verktyg baserade på libnvmm-biblioteket förberetts, liksom paketet qemu-nvmm för att köra gästsystem med NVMM. libnvmm API täcker funktioner som att skapa och köra en virtuell maskin, allokera minne till gästsystemet och allokera VCPU:er. Emellertid innehåller libnvmm inte emulatorfunktioner, utan tillhandahåller bara ett API som låter dig integrera NVMM-stöd i befintliga emulatorer som QEMU;
  • Ger stöd för 64-bitars AArch64-arkitektur (ARMv8-A), inklusive ARM-kompatibla serversystem Serverklar (SBBR+SBSA), och big.LITTLE-system (en kombination av kraftfulla, men energikrävande kärnor och mindre produktiva, men mer energieffektiva kärnor i ett chip). Den stöder körning av 32-bitarsapplikationer i en 64-bitarsmiljö genom användning av COMPAT_NETBSD32. Upp till 256 processorer kan användas. Körning i QEMU-emulator och SoC stöds:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • SBSA/SBBR-serverkort som Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Stödet för enheter baserade på ARMv7-A-arkitekturen har utökats. Lagt till stöd för big.LITTLE-system och uppstart via UEFI. Upp till 8 processorer kan användas. Tillagt SoC-stöd:
    • 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
  • Uppdaterade grafikdrivrutiner för Intel GPU:er (tillagt stöd för Intel Kabylake), NVIDIA och AMD för x86-system. DRM/KMS-undersystemet är synkroniserat med Linux 4.4-kärnan. Lade till nya GPU-drivrutiner som används på ARM-system, inklusive DRM/KMS-drivrutiner för Allwinner DE2, Rockchip VOP och TI AM335x LCDC, framebuffer-drivrutin för ARM PrimeCell PL111 och TI OMAP3 DSS;
  • Förbättrat stöd för att köra NetBSD som gäst-OS. Tillagt stöd för fw_cfg-enhet (QEMU Firmware Configuration), Virtio MMIO och PCI för ARM. Tillhandahöll stöd för HyperV för x86;
  • Räknare har implementerats för att övervaka prestanda, så att du kan analysera kärnans prestanda och användarapplikationer i farten. Styrning sker genom kommandot tprof. Armv7, Armv8 och x86 (AMD och Intel) plattformar stöds;
  • För x86_64-arkitektur Lagt till en mekanism för att randomisera kärnans adressutrymme (KASLR, Kernel Address Space Layout Randomization), som låter dig öka motståndet mot vissa typer av attacker som utnyttjar sårbarheter i kärnan genom att generera en slumpmässig layout av kärnkoden i minnet vid varje uppstart;
  • Lade till stöd för x86_64-arkitektur KLEAK, en teknik för att upptäcka kärnminnesläckor, som gjorde det möjligt för oss att hitta och fixa mer än 25 fel i kärnan;
  • För x86_64- och Aarch64-arkitekturer implementeras felsökningsmekanismen KASan (Kernel address Sanizer), som låter dig identifiera minnesfel, såsom tillgång till redan frigjorda minnesblock och buffertspill;
  • Lade till KUBSAN (Kernel Undefined Behavior Sanitizer) mekanism för att upptäcka fall av odefinierat beteende i kärnan
  • För x86_64-arkitekturen har KCOV-drivrutinen (Kernel Coverage) implementerats för att analysera kärnkodstäckning;
  • Lade till Userland Sanitizer för att upptäcka fel och anomalier när applikationer körs i användarutrymmet;
  • Tillagd KHH-mekanism (Kernel Heap Hardening) för att skydda högen från vissa typer av minnesfel;
  • Genomförd nätverksstacksäkerhetsrevision;
  • Förbättrade ptrace-felsökningsverktyg;
  • Kärnan rensades från gamla och ounderhållna delsystem, såsom NETISDN (drivrutiner daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 och ipkdb;
  • Paketfiltrets möjligheter har utökats och prestanda optimerats NPF, som nu är aktiverat som standard;
  • ZFS-filsystemets implementering har uppdaterats för att göra den lämplig för dagligt bruk. Möjligheten att starta från ZFS och använda ZFS på rotpartitionen stöds ännu inte;
  • Nya drivrutiner har lagts till, inklusive bwfm för trådlösa Broadcom-enheter (Full-MAC), ena för Amazon Elastic Network Adapter och mcx för Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet-adaptrar ;
  • SATA-undersystemet har gjorts om, vilket ger stöd för NCQ och förbättrar felhanteringen som genereras av disken;
  • Föreslagen nytt usbnet-ramverk för att skapa drivrutiner för Ethernet-adaptrar med ett USB-gränssnitt;
  • Uppdaterade versioner av tredjepartskomponenter, inklusive GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 och SQLite 3.26.0.

    Källa: opennet.ru

Lägg en kommentar