Kutolewa kwa mfumo wa uendeshaji wa NetBSD 9.0

Inapatikana kutolewa kwa mfumo mkuu wa uendeshaji NetBSD 9.0, ambapo sehemu inayofuata ya vipengele vipya inatekelezwa. Kwa upakiaji tayari picha za usakinishaji 470 MB kwa ukubwa. Toleo la NetBSD 9.0 linapatikana rasmi katika ujenzi wa 57 usanifu wa mfumo na familia 15 tofauti za CPU.

Kando, kuna bandari 8 zinazotumika ambazo zinaunda msingi wa mkakati wa maendeleo wa NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 na xen. Lango 49 zinazohusishwa na CPU kama vile alpha, hppa, m68010, m68k, sh3, sparc na vax zimeainishwa katika aina ya pili, i.e. bado zinatumika, lakini zimepoteza umuhimu au hazina idadi ya kutosha ya wasanidi wanaovutiwa na maendeleo yao. Bandari moja (acorn26) imejumuishwa katika kategoria ya tatu, ambayo ina bandari zisizofanya kazi ambazo zinaweza kuondolewa ikiwa hakuna watu wanaovutiwa na usanidi wao.

Ufunguo maboresho NetBSD 9.0:

  • Hypervisor mpya imeongezwa NVMM, ambayo inasaidia mifumo ya uboreshaji wa maunzi SVM kwa AMD CPU na VMX kwa Intel CPU. Kipengele maalum cha NVMM ni kwamba katika kiwango cha kernel tu seti ya chini inayohitajika ya vifungo karibu na mifumo ya uboreshaji wa maunzi inafanywa, na msimbo wote wa uigaji wa maunzi hutolewa nje ya kernel hadi kwenye nafasi ya mtumiaji. Ili kudhibiti mashine pepe, zana kulingana na maktaba ya libnvmm zimetayarishwa, pamoja na kifurushi cha qemu-nvmm cha kuendesha mifumo ya wageni kwa kutumia NVMM. API ya libnvmm inashughulikia utendakazi kama vile kuunda na kuendesha mashine pepe, kuweka kumbukumbu kwa mfumo wa wageni, na kutenga VCPU. Hata hivyo, libnvmm haina vitendaji vya kiigizaji, lakini hutoa tu API inayokuruhusu kujumuisha usaidizi wa NVMM katika emulator zilizopo kama vile QEMU;
  • Hutoa usaidizi wa usanifu wa 64-bit AArch64 (ARMv8-A), pamoja na mifumo ya seva inayoendana na ARM. ServerReady (SBBR+SBSA), na mifumo mikubwa.LITTLE (mchanganyiko wa chembe zenye nguvu, lakini zinazotumia nishati, na chembechembe zisizo na tija, lakini zenye ufanisi zaidi wa nishati katika chip moja). Inaauni kuendesha programu za biti-32 katika mazingira ya biti-64 kupitia matumizi ya COMPAT_NETBSD32. Hadi CPU 256 zinaweza kutumika. Kuendesha katika emulator ya QEMU na SoC kunasaidiwa:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Bodi za seva za SBSA/SBBR kama vile Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Usaidizi wa vifaa kulingana na usanifu wa ARMv7-A umepanuliwa. Imeongeza usaidizi kwa mifumo ya big.LITTLE na uanzishaji kupitia UEFI. Hadi CPU 8 zinaweza kutumika. Msaada wa SoC ulioongezwa:
    • 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
  • Viendeshi vya michoro vilivyosasishwa vya Intel GPUs (msaada ulioongezwa kwa Intel Kabylake), NVIDIA na AMD kwa mifumo ya x86. Mfumo mdogo wa DRM/KMS umelandanishwa na Linux 4.4 kernel. Imeongeza viendeshi vipya vya GPU vinavyotumika kwenye mifumo ya ARM, ikijumuisha viendeshi vya DRM/KMS vya Allwinner DE2, Rockchip VOP na TI AM335x LCDC, kiendeshi cha fremu kwa ARM PrimeCell PL111 na TI OMAP3 DSS;
  • Usaidizi ulioboreshwa wa kuendesha NetBSD kama OS mgeni. Usaidizi ulioongezwa kwa kifaa cha fw_cfg (Usanidi wa Firmware ya QEMU), Virtio MMIO na PCI ya ARM. Imetolewa msaada kwa HyperV kwa x86;
  • Kaunta zimetekelezwa kwa ufuatiliaji wa utendakazi, huku kuruhusu kuchanganua utendakazi wa kernel na matumizi ya mtumiaji kwa haraka. Udhibiti unafanywa kupitia amri ya tprof. Majukwaa ya Armv7, Armv8, na x86 (AMD na Intel) yanaungwa mkono;
  • Kwa usanifu wa x86_64 imeongezwa utaratibu wa kupanga nafasi ya anwani ya kernel (KASLR, Kernel Address Space Layout Randomization), ambayo inakuwezesha kuongeza upinzani dhidi ya aina fulani za mashambulizi ambayo hutumia udhaifu katika kernel kwa kuzalisha mpangilio wa random wa msimbo wa kernel katika kumbukumbu katika kila buti;
  • Usaidizi ulioongezwa kwa usanifu wa x86_64 KLEAK, mbinu ya kuchunguza uvujaji wa kumbukumbu ya kernel, ambayo ilituwezesha kupata na kurekebisha makosa zaidi ya 25 kwenye kernel;
  • Kwa usanifu wa x86_64 na Aarch64, utaratibu wa utatuzi wa KASan (Kernel address sanitizer) unatekelezwa, ambayo hukuruhusu kutambua makosa ya kumbukumbu, kama vile ufikiaji wa vizuizi vya kumbukumbu vilivyoachiliwa tayari na kufurika kwa bafa;
  • Utaratibu wa KUBSAN (Kernel Undefined Behavior Sanitizer) umeongezwa ili kugundua visa vya tabia isiyobainishwa kwenye kernel.
  • Kwa usanifu wa x86_64, kiendeshi cha KCOV (Kernel Coverage) kimetekelezwa ili kuchambua ufunikaji wa msimbo wa kernel;
  • Imeongezwa Userland Sanitizer ili kugundua hitilafu na hitilafu wakati wa kuendesha programu katika nafasi ya mtumiaji;
  • Imeongeza utaratibu wa KHH (Kernel Heap Hardening) ili kulinda lundo kutokana na aina fulani za makosa ya kumbukumbu;
  • Imefanywa ukaguzi wa usalama wa stack ya mtandao;
  • Zana za utatuzi za ptrace zilizoboreshwa;
  • Punje ilisafishwa kutoka kwa mifumo ndogo ya zamani na isiyodumishwa, kama vile NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 na ipkdb;
  • Uwezo wa kichujio cha pakiti umepanuliwa na utendakazi kuboreshwa NPF, ambayo sasa imewezeshwa na chaguo-msingi;
  • Utekelezaji wa mfumo wa faili wa ZFS umesasishwa ili kuifanya kufaa kwa matumizi ya kila siku. Uwezo wa boot kutoka ZFS na kutumia ZFS kwenye kizigeu cha mizizi bado haujaauniwa;
  • Madereva mapya yameongezwa, ikiwa ni pamoja na bwfm ya vifaa visivyotumia waya vya Broadcom (Full-MAC), ena ya Adapta ya Mtandao wa Amazon Elastic na mcx ya Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet adapta. ;
  • Mfumo mdogo wa SATA umeundwa upya, na kuongeza usaidizi kwa NCQ na kuboresha utunzaji wa makosa yanayotokana na gari;
  • Imependekezwa mfumo mpya wa usbnet wa kuunda madereva kwa adapta za Ethernet na kiolesura cha USB;
  • Matoleo yaliyosasishwa ya vipengee vingine, ikiwa ni pamoja na GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 na SQLite 3.26.0.

    Chanzo: opennet.ru

Kuongeza maoni