Wydanie systemu operacyjnego NetBSD 9.0

Dostępny znaczące wydanie systemu operacyjnego NetBSD 9.0, w którym wprowadzono szereg nowych możliwości. Do pobrania przygotowano obrazy instalacyjne o rozmiarze 470 MB. Wydanie NetBSD 9.0 jest oficjalnie dostępne w wersjach dla 57 architektur systemowych i 15 różnych rodzin CPU.

Wyróżniono 8 podstawowo wspieranych portów, które stanowią rdzeń strategii rozwoju NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 i xen. 49 portów, związanych z takimi CPU, jak alpha, hppa, m68010, m68k, sh3, sparc i vax, zostały przypisane do drugiej kategorii, tzn. nadal są wspierane, ale już straciły aktualność lub nie mają wystarczającej liczby zainteresowanych rozwojem deweloperów. Jeden port (acorn26) został uwzględniony w trzeciej kategorii, w której znajdują się nieoperacyjne porty, które mogą zostać usunięte, jeśli nie znajdą się zainteresowani ich dalszymi pracami entuzjaści.

Kluczowe ulepszenia NetBSD 9.0:

  • Dodano nowy hypervisor NVMM, wspierający sprzętowe mechanizmy wirtualizacji SVM dla CPU AMD i VMX dla CPU Intel. Cechą NVMM jest to, że na poziomie jądra wykonuje się tylko minimalny zestaw opakowań wokół sprzętowych mechanizmów wirtualizacji, podczas gdy cały kod emulacji sprzętu został przeniesiony z jądra do przestrzeni użytkownika. Do zarządzania maszynami wirtualnymi przygotowano narzędzia oparte na bibliotece libnvmm oraz pakiecie qemu-nvmm do uruchamiania systemów gości z wykorzystaniem NVMM. API libnvmm obejmuje takie funkcje jak tworzenie i uruchamianie maszyny wirtualnej, przydzielanie pamięci dla systemu gościa oraz przydzielanie VCPU. Biblioteka libnvmm nie zawiera funkcji emulatora, lecz jedynie udostępnia API, które umożliwia integrację wsparcia NVMM w istniejące emulatory, takie jak QEMU;
  • Zapewniono wsparcie dla 64-bitowej architektury AArch64 (ARMv8-A), w tym dla systemów serwerowych spełniających wymagania ARM ServerReady (SBBR+SBSA), oraz systemów big.LITTLE (kombinacja w jednym chipie mocnych, ale energochłonnych rdzeni, oraz mniej wydajnych, ale bardziej energooszczędnych rdzeni). Obsługiwane jest uruchamianie aplikacji 32-bitowych w 64-bitowym środowisku poprzez wykorzystanie COMPAT_NETBSD32. Możliwe jest wykorzystanie do 256 CPU. Wspierane jest uruchamianie w emulatorze QEMU i SoC:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Płyty serwerowe SBSA/SBBR, takie jak Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Rozszerzone wsparcie urządzeń opartych na architekturze ARMv7-A. Dodano wsparcie dla systemów big.LITTLE oraz uruchamiania przez UEFI. Możliwe jest wykorzystanie do 8 CPU. Dodano wsparcie 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
  • Zaktualizowano sterowniki graficzne dla GPU Intel (dodano wsparcie dla Intel Kabylake), NVIDIA oraz AMD dla systemów x86. Podsystem DRM/KMS zsynchronizowany z jądrem Linux 4.4. Dodano nowe sterowniki dla GPU wykorzystywanych w systemach ARM, w tym sterowniki DRM/KMS dla Allwinner DE2, Rockchip VOP oraz TI AM335x LCDC, sterownik framebuffer dla ARM PrimeCell PL111 i TI OMAP3 DSS;
  • Poprawiono wsparcie dla NetBSD jako systemu gościa. Dodano wsparcie dla urządzenia fw_cfg (QEMU Firmware Configuration), Virtio MMIO i PCI dla ARM. Zapewniono wsparcie dla HyperV dla x86;
  • Wdrożono liczniki do monitorowania wydajności, które pozwalają na bieżąco analizować wydajność jądra i aplikacji użytkownika. Zarządzanie odbywa się za pomocą polecenia tprof. Obsługiwane platformy to Armv7, Armv8 i x86 (AMD oraz Intel);
  • Dla architektury x86_64 dodano mechanizm losowania adresów pamięci jądra (KASLR, Kernel Address Space Layout Randomization), który zwiększa odporność na niektóre rodzaje ataków, eksploatujących luki w jądrze, poprzez losowe układanie kodu jądra w pamięci przy każdym uruchomieniu;
  • Dla architektury x86_64 dodano wsparcie KLEAK, techniki do wykrywania wycieków pamięci jądra, która pozwoliła znaleźć i naprawić ponad 25 błędów w jądrze;
  • Dla architektur x86_64 oraz Aarch64 wdrożono mechanizm debugowania KASan (Kernel Address Sanitizer), który pozwala na wykrywanie błędów związanych z pamięcią, takich jak odwołania do już zwolnionych bloków pamięci oraz przepełnienia buforów;
  • Dodano mechanizm KUBSAN (Kernel Undefined Behavior Sanitizer) do wykrywania przypadków nieokreślonego zachowania w jądrze.
  • Dla architektury x86_64 wdrożono sterownik KCOV (Kernel Coverage) do analizy pokrycia kodu jądra;
  • Dodano Userland Sanitizer do wykrywania błędów i anomalii podczas wykonywania aplikacji w przestrzeni użytkownika;
  • Dodano mechanizm KHH (Kernel Heap Hardening) do ochrony sterty przed niektórymi rodzajami błędów związanych z pamięcią;
  • Przeprowadzono audyt bezpieczeństwa stosu sieciowego;
  • Udoskonalono narzędzia debugowania ptrace;
  • Przeprowadzono czyszczenie jądra z przestarzałych i nieobsługiwanych podsystemów, takich jak NETISDN (sterowniki daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 i ipkdb;
  • Rozszerzono możliwości i zoptymalizowano wydajność filtracji pakietów NPF, który teraz jest domyślnie włączony;
  • Zaktualizowano implementację systemu plików ZFS, która została dostosowana do codziennego użytku. Możliwości rozruchu z ZFS i używania ZFS na partycji systemowej nie są jeszcze obsługiwane;
  • Dodano nowe sterowniki, w tym bwfm dla urządzeń bezprzewodowych Broadcom (Full-MAC), ena dla Amazon Elastic Network Adapter oraz mcx dla adapterów Ethernet Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
  • Przeprojektowano podsystem SATA, w którym dodano obsługę NCQ i poprawiono obsługę błędów zgłaszanych przez dysk;
  • Zaproponowano nowy framework usbnet do tworzenia sterowników dla adapterów Ethernet z interfejsem USB;
  • Zaktualizowano wersje składników zewnętrznych, w tym GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 i SQLite 3.26.0.

    Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster