A NetBSD 9.0 operációs rendszer kiadása

Elérhető fő operációs rendszer kiadás NetBSD 9.0, amelyben az új funkciók következő része valósul meg. A betöltéshez előkészített telepítési képek 470 MB méretű. A NetBSD 9.0 kiadás hivatalosan is elérhető a következőhöz készült buildekben 57 rendszerarchitektúra és 15 különböző CPU család.

Külön-külön 8 elsősorban támogatott port alkotja a NetBSD fejlesztési stratégiájának magját: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 és xen. 49 olyan CPU-khoz kapcsolódó port, mint az alfa, hppa, m68010, m68k, sh3, sparc és vax a második kategóriába sorolható, i.e. továbbra is támogatottak, de elvesztették relevanciájukat, vagy nincs elegendő számú fejlesztő érdeklődő a fejlesztésükben. Egy port (acorn26) a harmadik kategóriába tartozik, amely olyan nem működő portokat tartalmaz, amelyek eltávolításra jogosultak, ha nincs a fejlesztésük iránt érdeklődő.

Kulcs fejlesztések NetBSD 9.0:

  • Új hipervizor hozzáadva NVMM, amely támogatja az SVM hardveres virtualizációs mechanizmusokat az AMD CPU-khoz és a VMX-et az Intel CPU-khoz. Az NVMM különlegessége, hogy kernel szinten csak a minimálisan szükséges kötéskészlet kerül végrehajtásra a hardvervirtualizációs mechanizmusok körül, és az összes hardveremulációs kód kikerül a kernelből a felhasználói térbe. A virtuális gépek kezeléséhez elkészültek a libnvmm könyvtáron alapuló eszközök, valamint a qemu-nvmm csomag NVMM segítségével vendégrendszerek futtatásához. A libnvmm API olyan funkciókat fed le, mint egy virtuális gép létrehozása és futtatása, memória lefoglalása a vendégrendszer számára és VCPU-k lefoglalása. A libnvmm azonban nem tartalmaz emulátor funkciókat, csak egy API-t biztosít, amely lehetővé teszi az NVMM támogatás integrálását a meglévő emulátorokba, például a QEMU-ba;
  • Támogatja a 64 bites AArch64 architektúrát (ARMv8-A), beleértve az ARM-kompatibilis szerverrendszereket ServerReady (SBBR+SBSA), és big.LITTLE rendszerek (erős, de energiaigényes magok és kevésbé termelékeny, de energiahatékonyabb magok kombinációja egy chipben). Támogatja a 32 bites alkalmazások futtatását 64 bites környezetben a COMPAT_NETBSD32 használatával. Legfeljebb 256 CPU használható. A QEMU emulátorban és SoC-ben való futtatás támogatott:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • SBSA/SBBR szerverkártyák, például Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Az ARMv7-A architektúrán alapuló eszközök támogatása kibővült. Támogatás hozzáadva a big.LITTLE rendszerekhez és az UEFI-n keresztüli rendszerindításhoz. Legfeljebb 8 CPU használható. Hozzáadott SoC támogatás:
    • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
    • Amlogic S805
    • Kar 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
  • Frissített grafikus illesztőprogramok Intel GPU-khoz (az Intel Kabylake támogatásával), NVIDIA és AMD x86 rendszerekhez. A DRM/KMS alrendszer szinkronizálva van a Linux 4.4 kernellel. Az ARM rendszereken használt új GPU illesztőprogramok hozzáadva, beleértve az Allwinner DE2, Rockchip VOP és TI AM335x LCDC DRM/KMS illesztőprogramokat, az ARM PrimeCell PL111 és a TI OMAP3 DSS framebuffer illesztőprogramjait;
  • Továbbfejlesztett támogatás a NetBSD vendég operációs rendszerként való futtatásához. Támogatás hozzáadva az fw_cfg eszközhöz (QEMU Firmware Configuration), Virtio MMIO és PCI for ARM. Támogatást nyújtott az x86-os HyperV-hez;
  • A teljesítmény figyelésére számlálókat implementáltak, amelyek lehetővé teszik a kernel és a felhasználói alkalmazások teljesítményének menet közbeni elemzését. A vezérlés a tprof paranccsal történik. Armv7, Armv8 és x86 (AMD és Intel) platformok támogatottak;
  • x86_64 architektúrához - tette hozzá a kernel címterének véletlenszerűsítésének mechanizmusa (KASLR, Kernel Address Space Layout Randomization), amely lehetővé teszi bizonyos típusú támadásokkal szembeni ellenállás növelését, amelyek kihasználják a kernel sebezhetőségét azáltal, hogy minden rendszerindításkor véletlenszerű elrendezést generálnak a memóriában a kernelkódból;
  • Hozzáadott támogatás az x86_64 architektúrához KLEAK, a kernel memóriaszivárgásának észlelésére szolgáló technika, amely lehetővé tette, hogy több mint 25 hibát találjunk és javítsunk ki a kernelben;
  • Az x86_64 és Aarch64 architektúráknál a KASan (Kernel address sanitizer) hibakereső mechanizmus van megvalósítva, amely lehetővé teszi a memóriahibák azonosítását, például a már felszabadult memóriablokkokhoz való hozzáférést és a puffertúlcsordulást;
  • Hozzáadtuk a KUBSAN (Kernel Undefined Behavior Sanitizer) mechanizmust a kernel nem definiált viselkedésének észlelésére
  • Az x86_64 architektúrához a KCOV (Kernel Coverage) illesztőprogram került megvalósításra a kernelkód lefedettségének elemzésére;
  • Hozzáadott Userland Sanitizer a hibák és anomáliák észleléséhez, amikor az alkalmazások felhasználói területen futnak;
  • Hozzáadott KHH (Kernel Heap Hardening) mechanizmus, amely megvédi a kupacot bizonyos típusú memóriahibáktól;
  • Vezetett hálózati verem biztonsági audit;
  • Továbbfejlesztett ptrace hibakereső eszközök;
  • A kernelt megtisztították a régi és nem karbantartott alrendszerektől, mint például a NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 és ipkdb;
  • A csomagszűrő képességei kibővültek és a teljesítmény optimalizálva lett NPF, amely most alapértelmezés szerint engedélyezve van;
  • A ZFS fájlrendszer implementációja frissült, hogy alkalmas legyen a mindennapi használatra. A ZFS-ről történő rendszerindítás és a ZFS használata a root partíción még nem támogatott;
  • Új illesztőprogramok kerültek hozzáadásra, köztük a bwfm a Broadcom vezeték nélküli eszközökhöz (Full-MAC), az ena az Amazon Elastic Network Adapterhez és az mcx a Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet adapterekhez ;
  • A SATA alrendszert újratervezték, támogatva az NCQ-t, és javítva a meghajtó által generált hibakezelést;
  • Javasolt új usbnet keretrendszer USB interfésszel rendelkező Ethernet adapterek illesztőprogramjainak létrehozásához;
  • Harmadik féltől származó összetevők frissített verziói, köztük a GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 és SQLite 3.26.0.

    Forrás: opennet.ru

Hozzászólás