Veröffentlichung des Betriebssystems NetBSD 9.0

Verfügbar bedeutendes Update des Betriebssystems NetBSD 9.0, in dem eine neue Reihe von Funktionen implementiert wurde. Für den Download wurden vorbereitet stehen Installationsabbilder mit einer Größe von 470 MB zur Verfügung. Das Release von NetBSD 9.0 ist offiziell in Builds für 57 Systemarchitekturen und 15 verschiedene CPU-Familien verfügbar.

Es wurden 8 primär unterstützte Ports hervorgehoben, die den Kern der Entwicklungsstrategie von NetBSD bilden: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 und xen. 49 Ports, die mit CPUs wie alpha, hppa, m68010, m68k, sh3, sparc und vax verbunden sind, wurden in die zweite Kategorie eingestuft, d.h. sie werden noch unterstützt, haben jedoch an Aktualität verloren oder haben nicht genügend interessierte Entwickler für ihre Weiterentwicklung. Ein Port (acorn26) wurde in die dritte Kategorie eingestuft, in der nicht funktionierende Ports untergebracht sind, die auf eine Entfernung warten, falls keine begeisterten Entwickler für ihre Wartung gefunden werden.

Hauptmerkmale Verbesserungen NetBSD 9.0:

  • Ein neuer Hypervisor wurde hinzugefügt NVMM, der Hardwaremechanismen zur Gewährleistung der Virtualisierung SVM für AMD-CPUs und VMX für Intel-CPUs unterstützt. Ein Merkmal von NVMM ist, dass auf Kernel-Ebene nur ein minimal notwendiges Set an Wrappern um die Hardwaremechanismen zur Virtualisierung ausgeführt wird, während der gesamte Code zur Emulation von Hardware aus dem Kernel in den Benutzerspeicher verschoben wurde. Für die Verwaltung von virtuellen Maschinen steht ein Werkzeugset auf Basis der libnvmm-Bibliothek sowie das Paket qemu-nvmm zur Verfügung, um Gastsysteme mit NVMM zu starten. Die API von libnvmm umfasst Funktionen wie die Erstellung und den Start einer virtuellen Maschine, die Zuweisung von Speicher an das Gastsystem und die Verteilung von VCPU. Dabei enthält libnvmm keine Emulator-Funktionen, sondern bietet lediglich eine API, die die Integration der NVMM-Unterstützung in bestehende Emulatoren wie QEMU ermöglicht.
  • Die Unterstützung der 64-Bit-Architektur AArch64 (ARMv8-A) wurde sichergestellt, einschließlich Server-Systemen, die den Anforderungen von ARM ServerReady (SBBR+SBSA) entsprechen, sowie Systeme im big.LITTLE-Format (eine Kombination in einem Chip aus leistungsstarken, aber energieverbrauchenden Kernen und weniger leistungsstarken, aber energieeffizienten Kernen). Die Ausführung von 32-Bit-Anwendungen in einer 64-Bit-Umgebung über die Nutzung von COMPAT_NETBSD32 wird unterstützt. Es können bis zu 256 CPUs verwendet werden. Unterstützung für den Start in der Emulator QEMU und SoC:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Serverkarten SBSA/SBBR, wie Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Erweiterte Unterstützung für Geräte, die auf der Architektur ARMv7-A basieren. Unterstützung für big.LITTLE-Systeme und den Boot über UEFI hinzugefügt. Nutzung von bis zu 8 CPUs möglich. Unterstützung für SoC hinzugefügt:
    • 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
  • Die Grafiktreiber für die Intel-GPU (Unterstützung für Intel Kabylake hinzugefügt), NVIDIA und AMD für x86-Systeme wurden aktualisiert. Das DRM/KMS-Subsystem wurde mit dem Linux-Kernel 4.4 synchronisiert. Neue GPU-Treiber für ARM-Systeme hinzugefügt, einschließlich DRM/KMS-Treiber für Allwinner DE2, Rockchip VOP und TI AM335x LCDC, Framebuffer-Treiber für ARM PrimeCell PL111 und TI OMAP3 DSS;
  • Die Unterstützung von NetBSD als Gast-OS wurde verbessert. Unterstützung für das Gerät fw_cfg (QEMU Firmware Configuration), Virtio MMIO und PCI für ARM hinzugefügt. Unterstützung für HyperV für x86 bereitgestellt;
  • Zähler zur Überwachung der Leistung wurden implementiert, die eine sofortige Analyse der Leistung des Kernels und der Benutzeranwendungen ermöglichen. Die Verwaltung erfolgt über den Befehl tprof. Unterstützung für die Plattformen Armv7, Armv8 und x86 (AMD und Intel);
  • Für die Architektur x86_64 wurde hinzugefügt der Mechanismus zur Randomisierung des Adressraums des Kernels (KASLR, Kernel Address Space Layout Randomization), der die Widerstandsfähigkeit gegenüber bestimmten Arten von Angriffen erhöht, die Schwachstellen im Kernel ausnutzen, indem bei jedem Boot eine zufällige Anordnung des Kernelcodes im Speicher erstellt wird;
  • Für die Architektur x86_64 wurde die Unterstützung hinzugefügt KLEAK, einer Technik zur Erkennung von Speicherleckagen im Kernel, die es ermöglichte, über 25 Fehler im Kernel zu finden und zu beheben;
  • Für die Architekturen x86_64 und Aarch64 wurde der Debugging-Mechanismus KASan (Kernel Address Sanitizer) implementiert, der es ermöglicht, Fehler im Umgang mit Speicher zu erkennen, wie z. B. Zugriffe auf bereits freigegebene Speicherblöcke und Pufferüberläufe;
  • Ein Mechanismus KUBSAN (Kernel Undefined Behavior Sanitizer) wurde hinzugefügt, um Fälle von undefiniertem Verhalten im Kernel zu erkennen.
  • Für die Architektur x86_64 wurde ein Treiber KCOV (Kernel Coverage) zur Analyse der Codeabdeckung im Kernel implementiert;
  • Userland Sanitizer wurde hinzugefügt, um Fehler und Anomalien bei der Ausführung von Anwendungen im Benutzerspeicher zu erkennen;
  • Ein Mechanismus KHH (Kernel Heap Hardening) wurde hinzugefügt, um den Heap vor bestimmten Arten von Speicherfehlern zu schützen;
  • Es wurde eine Sicherheitsüberprüfung des Netzwerkstacks durchgeführt;
  • Das Debugging-Tool ptrace wurde verbessert;
  • Das Kernsystem wurde von alten und unbegleiteten Teilsystemen gereinigt, wie NETISDN (Treiber daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 und ipkdb;
  • Die Funktionalität wurde erweitert und die Leistungsoptimierung des Paketfilters durchgeführt NPF, der jetzt standardmäßig aktiviert ist;
  • Die Implementierung des ZFS-Dateisystems wurde aktualisiert und auf einen für den täglichen Gebrauch geeigneten Zustand gebracht. Die Möglichkeiten zum Booten von ZFS und zur Verwendung von ZFS auf der Root-Partition werden derzeit noch nicht unterstützt;
  • Neue Treiber wurden hinzugefügt, darunter bwfm für Broadcom-Wireless-Geräte (Full-MAC), ena für Amazon Elastic Network Adapter und mcx für Ethernet-Adapter von Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
  • Das SATA-Subsystem wurde überarbeitet, wobei Unterstützung für NCQ hinzugefügt und die Fehlerbehandlung, die vom Speicher ausgegeben wird, verbessert wurde;
  • Vorgeschlagen ein neues Framework usbnet zur Erstellung von Treibern für Ethernet-Adapter mit USB-Schnittstelle;
  • Die Versionen von Drittanbieterk Komponenten wurden aktualisiert, darunter GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 und SQLite 3.26.0.

    Quelle: opennet.ru

60GB SSD 8Gb DDR4