Kutulutsidwa kwa makina ogwiritsira ntchito a NetBSD 9.0

Ipezeka chachikulu opaleshoni dongosolo kumasulidwa Pulogalamu ya NetBSD 9.0, momwe gawo lotsatira la zinthu zatsopano likugwiritsidwa ntchito. Za kutsitsa kukonzekera kuyika zithunzi 470 MB kukula. Kutulutsidwa kwa NetBSD 9.0 kumapezeka mwalamulo pakumanga kwa 57 dongosolo zomangamanga ndi mabanja 15 osiyanasiyana a CPU.

Payokha, pali madoko 8 omwe amathandizidwa makamaka omwe amapanga maziko a njira yachitukuko ya NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 ndi xen. Madoko 49 okhudzana ndi ma CPU monga alpha, hppa, m68010, m68k, sh3, sparc ndi vax amaikidwa m'gulu lachiwiri, mwachitsanzo. amathandizidwabe, koma ataya kufunikira kwawo kapena alibe chiwerengero chokwanira cha opanga omwe ali ndi chidwi ndi chitukuko chawo. Doko limodzi (acorn26) likuphatikizidwa m'gulu lachitatu, lomwe lili ndi madoko osagwira ntchito omwe ali oyenera kuchotsedwa ngati palibe okonda chitukuko chawo.

Chinsinsi kuwongolera NetBSD 9.0:

  • Hypervisor yatsopano yawonjezeredwa Zamgululi, yomwe imathandizira ma hardware virtualization mechanisms SVM ya AMD CPUs ndi VMX ya Intel CPUs. Mbali yapadera ya NVMM ndikuti pamlingo wa kernel kokha magawo ochepera ofunikira omangirira mozungulira makina a hardware amachitidwa, ndipo ma code onse otsatsira ma hardware amachotsedwa mu kernel kupita kumalo ogwiritsa ntchito. Kuwongolera makina enieni, zida zochokera ku laibulale ya libnvmm zakonzedwa, komanso phukusi la qemu-nvmm loyendetsa machitidwe a alendo pogwiritsa ntchito NVMM. Libnvmm API imakhudza ntchito monga kupanga ndi kuyendetsa makina enieni, kugawa kukumbukira kwa alendo, ndi kugawa ma VCPU. Komabe, libnvmm ilibe ntchito za emulator, koma imangopereka API yomwe imakulolani kuti muphatikize chithandizo cha NVMM mu emulators omwe alipo monga QEMU;
  • Amapereka chithandizo cha zomangamanga za 64-bit AArch64 (ARMv8-A), kuphatikizapo makina ogwirizana ndi ARM ServerReady (SBBR + SBSA), ndi zazikulu.LITTLE machitidwe (ophatikizira amphamvu, koma owononga mphamvu, komanso osabala, koma opangira mphamvu zambiri mu chip chimodzi). Imathandizira kuyendetsa mapulogalamu a 32-bit pamalo a 64-bit pogwiritsa ntchito COMPAT_NETBSD32. Mpaka ma 256 CPU angagwiritsidwe ntchito. Kuthamanga mu emulator ya QEMU ndi SoC imathandizidwa:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Kanema wa Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • SBSA/SBBR ma seva board monga Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Thandizo pazida zotengera ARMv7-A zomangamanga zakulitsidwa. Thandizo lowonjezera la big.LITTLE machitidwe ndi booting kudzera UEFI. Mpaka ma CPU 8 angagwiritsidwe ntchito. Thandizo lowonjezera la 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
  • Madalaivala osinthidwa a Intel GPUs (owonjezera chithandizo cha Intel Kabylake), NVIDIA ndi AMD pamakina a x86. Dongosolo la DRM/KMS limalumikizidwa ndi Linux 4.4 kernel. Onjezani madalaivala atsopano a GPU omwe amagwiritsidwa ntchito pamakina a ARM, kuphatikiza madalaivala a DRM/KMS a Allwinner DE2, Rockchip VOP ndi TI AM335x LCDC, driver wa framebuffer wa ARM PrimeCell PL111 ndi TI OMAP3 DSS;
  • Thandizo lokwezeka loyendetsa NetBSD ngati OS ya alendo. Zowonjezera zothandizira fw_cfg chipangizo (QEMU Firmware Configuration), Virtio MMIO ndi PCI ya ARM. Kuthandizira kwa HyperV kwa x86;
  • Zowerengera zakhazikitsidwa kuti ziwunikire momwe ntchito ikugwirira ntchito, kukulolani kuti muwunike momwe kernel imagwirira ntchito komanso momwe ogwiritsa ntchito akuwulukira. Kuwongolera kumachitika kudzera mu lamulo la tprof. Mapulatifomu a Armv7, Armv8, ndi x86 (AMD ndi Intel) amathandizidwa;
  • Kwa x86_64 zomangamanga anawonjezera njira yosinthira malo adilesi ya kernel (KASLR, Kernel Address Space Layout Randomization), yomwe imakupatsani mwayi woti muwonjezere kukana mitundu ina ya ziwopsezo zomwe zimagwiritsa ntchito ziwopsezo mu kernel mwa kupanga masanjidwe mwachisawawa a kernel code kukumbukira pa boot iliyonse;
  • Thandizo lowonjezera la zomangamanga za x86_64 KLEAK, njira yodziwira kutuluka kwa kernel kukumbukira, zomwe zinatilola kupeza ndi kukonza zolakwika zoposa 25 mu kernel;
  • Pazomangamanga za x86_64 ndi Aarch64, njira yowonongeka ya KASan (Kernel address sanitizer) imayendetsedwa, yomwe imakupatsani mwayi wozindikira zolakwika zamakumbukidwe, monga mwayi wofikira mabulogu omasulidwa kale ndi kusefukira kwa buffer;
  • Kuwonjezedwa kwa KUBSAN (Kernel Undefined Behavior Sanitizer) njira yodziwira zochitika zomwe sizikudziwika mu kernel.
  • Pazomangamanga za x86_64, dalaivala wa KCOV (Kernel Coverage) wakhazikitsidwa kuti aunike kernel code coverage;
  • Anawonjezera Userland Sanitizer kuti azindikire zolakwika ndi zolakwika mukamagwiritsa ntchito malo ogwiritsa ntchito;
  • Njira yowonjezera ya KHH (Kernel Heap Hardening) kuti muteteze mulu ku mitundu ina ya zolakwika za kukumbukira;
  • Kuchitika network stack security audit;
  • Zida zowonjezera ptrace debugging;
  • Kernel idatsukidwa kuzinthu zakale komanso zosasamalidwa, monga NETISDN (madalaivala daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 ndi ipkdb;
  • Kuthekera kwa sefa ya paketi yawonjezedwa ndikuwongolera magwiridwe antchito MFN, yomwe tsopano imayatsidwa mwachisawawa;
  • Kukhazikitsa mafayilo a ZFS kwasinthidwa kuti ikhale yoyenera kugwiritsidwa ntchito tsiku ndi tsiku. Kutha kuyambitsa kuchokera ku ZFS ndikugwiritsa ntchito ZFS pagawo la mizu sikunathandizidwe;
  • Madalaivala atsopano awonjezedwa, kuphatikiza bwfm ya zida zopanda zingwe za Broadcom (Full-MAC), ena ya Amazon Elastic Network Adapter ndi mcx ya Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet adaputala. ;
  • Dongosolo la SATA lakonzedwanso, ndikuwonjezera thandizo la NCQ ndikuwongolera zolakwika zomwe zimapangidwa ndi drive;
  • Zaperekedwa chimango chatsopano cha usbnet chopangira madalaivala a ma adapter a Efaneti okhala ndi mawonekedwe a USB;
  • Mabaibulo osinthidwa a zigawo zina, kuphatikizapo GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 ndi SQLite 3.26.0.

    Source: opennet.ru

Kuwonjezera ndemanga