jelentős kiadás a műveleti rendszerben , amelyben egy újabb adag új lehetőséget valósítottak meg. A 470 MB méretű telepítő képfájlok letölthetők. A NetBSD 9.0 hivatalosan elérhető a és 15 különböző CPU családhoz.
Külön kiemeltek 8 elsődlegesen támogatott portot, amelyek a NetBSD fejlődési stratégiájának magját képezik: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 és xen. 49 port, amely összefügg olyan CPU-kkal, mint az alpha, hppa, m68010, m68k, sh3, sparc és vax, a második kategóriába tartozik, azaz még támogatott, de már elvesztette relevanciáját, vagy nem rendelkezik elegendő fejlesztői érdeklődéssel. Egy port (acorn26) a harmadik kategóriába került, ahol az inaktív portok találhatók, amelyek eltávolításra kerülhetnek, ha nem található fejlesztés iránt érdeklődő lelkesedés.
Kulcsok NetBSD 9.0:
- Új hipervizor került hozzáadásra , amely támogatja az AMD CPU-k SVM virtuális gépezési mechanizmusait és az Intel CPU-k VMX mechanizmusait. Az NVMM sajátossága, hogy a kernelszinten csak a legszükségesebb kötegeket hajtja végre a hardveres virtuális gépezési mechanizmusok körül, a teljes hardveremulációs kódot pedig felhasználói térbe helyezi át. A virtuális gépek kezelésére a libnvmm könyvtáron alapuló eszközkészlet készült, valamint a qemu-nvmm csomag a vendégrendszerek NVMM-en történő indításához. A libnvmm API olyan funkciókat ölel fel, mint a virtuális gép létrehozása és indítása, a vendégsystemnek memóriaallokálás, VCPU elosztás. Érdemes megjegyezni, hogy a libnvmm nem tartalmaz emulátor funkciót, csupán egy API-t biztosít, amely lehetővé teszi az NVMM támogatás integrálását a meglévő emulátorokba, mint például a QEMU;
- Támogatott a 64 bites AArch64 (ARMv8-A) architektúra, beleértve a szerverrel összhangban lévő rendszereket, amelyek megfelelnek az ARM (SBBR+SBSA) követelményeinek, valamint a big.LITTLE rendszereket (egy chipen belül erős, de nagy energiát fogyasztó magok és kevésbé teljesítményorientált, de energiatakarékos magok kombinációja). Támogatott a 32 bites alkalmazások futtatása 64 bites környezetben a COMPAT_NETBSD32 használatával. Legfeljebb 256 CPU használata lehetséges. Támogatott a QEMU emulátorban és az SoC:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- SBSA/SBBR szerverlapok, mint például Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Kiterjesztették az ARMv7-A architektúrára alapozott eszközök támogatását. Bevezették a big.LITTLE rendszerek és az UEFI indítás támogatását. Akár 8 CPU használata is lehetséges. Bevezették a SoC támogatását:
- 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
- Frissítették az Intel GPU, NVIDIA és AMD grafikus meghajtókat x86 rendszerekhez (az Intel Kabylake támogatása is hozzáadva). A DRM/KMS alrendszer szinkronizálva van a Linux 4.4 kernellel. Új GPU meghajtók kerültek hozzáadásra ARM rendszerekhez, többek között DRM/KMS meghajtók az Allwinner DE2, Rockchip VOP és TI AM335x LCDC rendszerekhez, ARM PrimeCell PL111 framebuffer meghajtó és TI OMAP3 DSS;
- Javították a NetBSD vendég operációs rendszer működését. Hozzáadták a fw_cfg (QEMU Firmware Configuration) eszköz, Virtio MMIO és PCI támogatását ARM számára. Támogatás biztosított HyperV-hez x86 számára;
- Teljesítményfigyelő számlálók valós idejű elemzést tesznek lehetővé a kernel és a felhasználói alkalmazások teljesítményéről. A vezérlés a tprof parancs segítségével történik. Támogatott platformok: Armv7, Armv8, és x86 (AMD és Intel);
- x86_64 architektúrához kernel címterének véletlenszerűsítési mechanizmusa (KASLR, Kernel Address Space Layout Randomization), amely növeli a védekezést bizonyos támadási formák ellen, amelyek kihasználják a kernel sérülékenységeit azáltal, hogy véletlenszerű kódelhelyezést képez a kernel memóriájában minden indításkor;
- x86_64 architektúrához hozzáadott támogatás , a kernel memória szivárgásának észlelésére szolgáló technika, amely lehetővé tette több mint 25 kernel hibajavítást;
- x86_64 és Aarch64 architektúrákhoz megvalósított KASan (Kernel address sanitizer) hibakeresési mechanizmus, amely lehetővé teszi a memóriahasználati hibák, például a már felszabadított memóriablokkokra való hivatkozás és puffer túlfutások azonosítását;
- Hozzáadott KUBSAN (Kernel Undefined Behavior Sanitizer) mechanizmust a kernelben fellépő meghatározatlan viselkedések észlelésére
- x86_64 architektúrához megvalósított KCOV (Kernel Coverage) meghajtó a kernel kódlefedettségének elemzésére;
- Hozzáadott Userland Sanitizer az alkalmazások felhasználói térben történő végrehajtásának hibáinak és anomáliáinak észlelésére;
- Hozzáadott KHH (Kernel Heap Hardening) mechanizmus a halmazok védelmére bizonyos memóriahasználati hibák ellen;
- Javították a ptrace hibakereső eszközt;
- Fejlesztették a ptrace hibakereső eszközöket;
- A rendszerben eltávolították a régi és elhagyott alrendszereket, mint például a NETISDN (daic, iavc, ifpci, ifritz, iwic, isic illesztőprogramok), NETNATM, NDIS, SVR3, SVR4, n8, vm86 és ipkdb;
- Növelve lettek a lehetőségek, és optimalizálták a csomagszűrő teljesítményét , amely mostantól alapértelmezés szerint aktív;
- Frissült a ZFS fájlrendszer megvalósítása, amely mostanra használatra alkalmas állapotba került. A ZFS-ről való rendszerindítás és a ZFS gyökérpartíción történő használat nem támogatott egyelőre;
- Új illesztőprogramok kerültek hozzáadásra, beleértve a bwfm illesztőprogramot Broadcom vezeték nélküli eszközeihez (Full-MAC), az ena illesztőprogramot az Amazon Elastic Network Adapterhez és az mcx illesztőprogramot a Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN és ConnectX-6 EN Ethernet-adapterekhez;
- A SATA alrendszer újra lett tervezve, amely támogatja az NCQ-t és javítja a meghajtó által generált hibák feldolgozását;
- új usbnet keretrendszer az USB interfésszel rendelkező Ethernet-adapterekhez illesztőprogramok készítéséhez;
- Frissült a harmadik fél komponensek verziója, beleértve a GCC 7.4-et, a GDB 8.3-t, az LLVM 7.0.0-t, az OpenSSL 1.1.1d-t, az OpenSSH 8.0-t és a SQLite 3.26.0-t.
Forrás: opennet.ru
