Liberigo de la NetBSD 9.0 operaciumo

Disponebla grava operaciumo-eldono NetBSD 9.0, en kiu la sekva parto de novaj funkcioj estas efektivigita. Por ŝarĝo preparita instalbildoj 470 MB en grandeco. La NetBSD 9.0-eldono estas oficiale havebla en konstruoj por 57 sistemaj arkitekturoj kaj 15 malsamaj CPU-familioj.

Aparte, ekzistas 8 ĉefe subtenataj havenoj kiuj formas la kernon de la disvolva strategio de NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 kaj xen. 49 havenoj asociitaj kun CPUoj kiel ekzemple alfao, hppa, m68010, m68k, sh3, sparc kaj vax estas klasifikitaj en la dua kategorio, t.e. estas ankoraŭ subtenataj, sed perdis sian gravecon aŭ ne havas sufiĉan nombron da programistoj interesitaj pri sia evoluo. Unu haveno (glano26) estas inkluzivita en la tria kategorio, kiu enhavas nefunkciantajn havenojn kiuj estas elekteblaj por forigo se ekzistas neniuj entuziasmuloj interesitaj pri ilia evoluo.

Ŝlosilo plibonigoj NetBSD 9.0:

  • Nova hiperviziero aldonita NVMM, kiu subtenas aparatajn virtualigajn mekanismojn SVM por AMD-CPUoj kaj VMX por Intel-CPUoj. Speciala trajto de NVMM estas ke sur la kernnivelo nur la minimuma bezonata aro de ligadoj ĉirkaŭ aparataj virtualigmekanismoj estas farita, kaj ĉio hardvara emuladkodo estas movita for el la kerno en uzantspacon. Por administri virtualajn maŝinojn, iloj bazitaj sur la libnvmm biblioteko estis preparitaj, same kiel la qemu-nvmm-pakaĵo por ruli gastsistemojn uzante NVMM. La libnvmm API kovras funkciojn kiel krei kaj funkcii virtualan maŝinon, asignante memoron al la gastsistemo kaj asignante VCPUojn. Tamen, libnvmm ne enhavas emuligajn funkciojn, sed nur provizas API, kiu permesas vin integri NVMM-subtenon en ekzistantajn emulilojn kiel QEMU;
  • Disponigas subtenon por 64-bita AArch64-arkitekturo (ARMv8-A), inkluzive de ARM-konformaj servilsistemoj ServiloPreta (SBBR+SBSA), kaj big.LITTLE sistemoj (kombinaĵo de potencaj, sed energikonsumantaj kernoj, kaj malpli produktivaj, sed pli energi-efikaj kernoj en unu blato). Ĝi subtenas ruli 32-bitajn aplikojn en 64-bita medio per la uzo de COMPAT_NETBSD32. Ĝis 256 CPU-oj povas esti uzataj. Kurado en QEMU-emulilo kaj SoC estas subtenata:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • SBSA/SBBR-servilaj tabuloj kiel Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Subteno por aparatoj bazitaj sur ARMv7-A arkitekturo estis vastigita. Aldonita subteno por big.LITTLE-sistemoj kaj ekfunkciigo per UEFI. Ĝis 8 CPU-oj povas esti uzataj. Aldonita SoC-subteno:
    • 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
  • Ĝisdatigitaj grafikaj peliloj por Intel GPU-oj (aldonita subteno por Intel Kabylake), NVIDIA kaj AMD por x86-sistemoj. La DRM/KMS-subsistemo estas sinkronigita kun la Linukso 4.4-kerno. Aldonitaj novaj GPU-ŝoforoj uzitaj sur ARM-sistemoj, inkluzive de DRM/KMS-ŝoforoj por Allwinner DE2, Rockchip VOP kaj TI AM335x LCDC, framebuffer-ŝoforo por ARM PrimeCell PL111 kaj TI OMAP3 DSS;
  • Plibonigita subteno por funkcii NetBSD kiel gasta OS. Aldonita subteno por fw_cfg-aparato (QEMU Firmware Configuration), Virtio MMIO kaj PCI por ARM. Provizita subteno por HyperV por x86;
  • Nombriloj estis efektivigitaj por monitorado de rendimento, permesante al vi analizi la agadon de la kerno kaj uzantaj aplikaĵoj sur la flugo. Kontrolo estas farita per la komando tprof. Armv7, Armv8, kaj x86 (AMD kaj Intel) platformoj estas subtenataj;
  • Por x86_64 arkitekturo aldonis mekanismo por hazardigi la kernan adresspacon (KASLR, Kernel Address Space Layout Randomization), kiu permesas pliigi reziston al certaj specoj de atakoj kiuj ekspluatas vundeblecojn en la kerno generante hazardan aranĝon de la kernkodo en memoro ĉe ĉiu ekkuro;
  • Aldonita subteno por x86_64 arkitekturo KLEAK, tekniko por detekti kernajn memorlikojn, kiu permesis al ni trovi kaj ripari pli ol 25 erarojn en la kerno;
  • Por arkitekturoj x86_64 kaj Aarch64, la senarariga mekanismo de KASan (Kernel address sanitizer) estas efektivigita, kiu ebligas identigi memorerarojn, kiel aliro al jam liberigitaj memorblokoj kaj bufro-superfluoj;
  • Aldonita KUBSAN (Kernel Undefined Behavior Sanitizer) mekanismo por detekti kazojn de nedifinita konduto en la kerno
  • Por la arkitekturo x86_64, la ŝoforo KCOV (Kernel Coverage) estis efektivigita por analizi kernan kodan priraportadon;
  • Aldonita Userland Sanitizer por detekti erarojn kaj anomaliojn dum rulado de aplikoj en uzantspaco;
  • Aldonita KHH (Kernel Heap Hardening) mekanismo por protekti la amason de certaj specoj de memoreraroj;
  • Kondukita retstako sekureca revizio;
  • Plibonigitaj ptrace-sencimigaj iloj;
  • La kerno estis purigita de malnovaj kaj neprizorgitaj subsistemoj, kiel ekzemple NETISDN (ŝoforoj daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 kaj ipkdb;
  • La kapabloj de la paka filtrilo estis pligrandigitaj kaj agado optimumigita NPF, kiu nun estas ebligita defaŭlte;
  • La efektivigo de dosiersistemo ZFS estis ĝisdatigita por igi ĝin taŭga por ĉiutaga uzo. La kapablo starti de ZFS kaj uzi ZFS sur la radika sekcio ankoraŭ ne estas subtenata;
  • Novaj ŝoforoj estis aldonitaj, inkluzive de bwfm por Broadcom sendrataj aparatoj (Full-MAC), ena por Amazon Elastic Network Adapter kaj mcx por Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet-adaptiloj ;
  • La SATA-subsistemo estis restrukturita, aldonante subtenon por NCQ kaj plibonigante erartraktadon generitan de la stirado;
  • Proponita nova usbreta kadro por krei ŝoforojn por Ethernet-adaptiloj kun USB-interfaco;
  • Ĝisdatigitaj versioj de triaj komponantoj, inkluzive de GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 kaj SQLite 3.26.0.

    fonto: opennet.ru

Aldoni komenton