en betydelig udgivelse af operativsystemet , hvori der implementeres en ny række funktioner. Til download installationsbilleder på 470 MB. Udgivelsen af NetBSD 9.0 er officielt tilgængelig i versioner til og 15 forskellige CPU-familier.
Der er særligt fremhævet 8 primært understøttede porte, der udgør kernen af NetBSD's udviklingsstrategi: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 og xen. 49 porte, der relaterer sig til CPU'er som alpha, hppa, m68010, m68k, sh3, sparc og vax, er klassificeret som anden kategori, dvs. de understøttes stadig, men er ved at tabe relevans eller har ikke et tilstrækkeligt antal udviklere interesseret i deres udvikling. En port (acorn26) er inkluderet i tredje kategori, hvor ikke-fungerende porte er placeret og står til sletning, medmindre der findes entusiaster interesseret i deres udvikling.
Nøglepunkter NetBSD 9.0:
- En ny hypervisor er tilføjet , som understøtter hardwaremekanismer til virtualisering SVM for AMD CPU'er og VMX for Intel CPU'er. En særlig funktion ved NVMM er, at der på kerne-niveau kun udføres det nødvendige minimum af indpakning omkring hardwaremekanismerne til virtualisering, mens al kodesimulering af hardware er flyttet ud af kernen til brugerområdet. Der er udviklet værktøjer til styring af virtuelle maskiner baseret på libnvmm-biblioteket samt qemu-nvmm-pakken til at køre gæstesystemer ved hjælp af NVMM. API'et til libnvmm dækker funktioner som oprettelse og start af en virtuel maskine, tildeling af hukommelse til gæstesystemet, tildeling af VCPU. Bemærk, at libnvmm ikke indeholder emulatorfunktioner, men kun tilbyder et API, der muliggør integration af NVMM-support i eksisterende emulatorer som QEMU;
- Der er sikret understøttelse af 64-bit arkitektur AArch64 (ARMv8-A), herunder serversystemer, der opfylder ARM (SBBR+SBSA), og big.LITTLE-systemer (kombination af kraftfulde, men strømmende kerner, og mindre kraftfulde, men mere energieffektive kerner i én chip). Understøttelse af kørsel af 32-bit applikationer i et 64-bit miljø ved hjælp af COMPAT_NETBSD32. Der kan anvendes op til 256 CPU'er. Understøttelse af kørsel i emulatoren QEMU og SoC:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- Server boards SBSA/SBBR, such as Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Udvidet support for enheder baseret på ARMv7-A arkitekturen. Tilføjet støtte til big.LITTLE systemer og opstart via UEFI. Mulighed for at bruge op til 8 CPU'er. Tilføjet support for SoC:
- 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
- Grafiske drivere til GPU'er fra Intel (tilføjet støtte til Intel Kabylake), NVIDIA og AMD er opdateret for x86-systemer. DRM/KMS-understøttelsen er synkroniseret med Linux-kernen 4.4. Nye GPU-drivere, der anvendes på ARM-systemer, er blevet tilføjet, inklusive DRM/KMS-drivere til Allwinner DE2, Rockchip VOP og TI AM335x LCDC, framebuffer-driver til ARM PrimeCell PL111 og TI OMAP3 DSS;
- Forbedret support for NetBSD som gæste-OS. Tilføjet support for fw_cfg-enhed (QEMU Firmware Configuration), Virtio MMIO og PCI for ARM. HyperV support sikret for x86;
- Statistikker til at overvåge ydeevnen er implementeret, som muliggør realtid analyse af kernel- og brugerapplikationsydelse. Styring sker via kommandoen tprof. Platforme Armv7, Armv8, og x86 (AMD og Intel) understøttes;
- For arkitekturen x86_64 meget længere randomisering af adressepladsen i kernen (KASLR, Kernel Address Space Layout Randomization), som øger modstandskraften mod visse former for angreb, der udnytter sårbarheder i kernen ved at skabe en tilfældig layout af kernelkoden i hukommelsen ved hver opstart;
- For arkitekturen x86_64 er der tilføjet støtte for , en teknik til at opdage hukommelseslækager i kernen, som har gjort det muligt at finde og fixe mere end 25 fejl i kernen;
- For arkitekturerne x86_64 og Aarch64 er der implementeret en debug-mekanisme KASan (Kernel address sanitizer), som gør det muligt at identificere hukommelsesfejl, såsom adgang til allerede frigivne hukommelsesblokke og buffer-overløb;
- Tilføjet mekanisme KUBSAN (Kernel Undefined Behavior Sanitizer) til at identificere tilfælde af udefineret opførsel i kernen
- For arkitekturen x86_64 er der implementeret en driver KCOV (Kernel Coverage) til at analysere kernel-kode dækning;
- Tilføjet Userland Sanitizer til at finde fejl og anomalier under udførelse af applikationer i brugerrummet;
- Tilføjet mekanisme KHH (Kernel Heap Hardening) til at beskytte bunken mod visse typer hukommelsesfejl;
- audit af sikkerheden i netværksstakken er blevet udført;
- Debbugging værktøjet ptrace er forbedret;
- Kernen er blevet renset for gamle og efterladte subsystemer såsom NETISDN (drivere daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 og ipkdb;
- Mulighederne er udvidet, og ydeevnen af pakkefilteret er blevet optimeret , som nu er aktiveret som standard;
- Implementeringen af filsystemet ZFS er blevet opdateret til en tilstand, der er egnet til daglig brug. Mulighederne for opstart fra ZFS og brug af ZFS på rodpartitionen understøttes endnu ikke;
- Der er tilføjet nye drivere, herunder bwfm til Broadcom trådløse enheder (Full-MAC), ena til Amazon Elastic Network Adapter og mcx til Ethernet-adaptere fra Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
- SATA-subsystemet er blevet redesignet, hvilket har tilføjet support for NCQ og forbedret fejlbehandling fra lagerenheden;
- en ny usbnet-ramme til at oprette drivere til Ethernet-adaptere med USB-interface;
- Versionerne af tredjeparts komponenter er blevet opdateret, herunder GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 og SQLite 3.26.0.
Kilde: opennet.ru
