Рэліз аперацыйнай сістэмы NetBSD 9.0

даступны значны рэліз аперацыйнай сістэмы NetBSD 9.0, у якім рэалізавана чарговая порцыя новых магчымасцяў. Для загрузкі падрыхтаваны ўсталявальныя выявы памерам 470 Мб. Рэліз NetBSD 9.0 афіцыйна даступны ў зборках для 57 сістэмных архітэктур і 15 розных сямействаў CPU.

Асобна вылучаныя 8 першасна падтрымоўваных портаў, якія складаюць ядро ​​стратэгіі развіцця NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 і xen. 49 партоў, звязаных з такімі CPU, як alpha, hppa, m68010, m68k, sh3, sparc і vax, аднесены да другой катэгорыі, г.зн. яшчэ падтрымліваюцца, але ўжо страцілі актуальнасць ці не маюць дастатковай колькасці зацікаўленых у іх развіцці распрацоўшчыкаў. Адзін порт (acorn26) уключаны ў трэцюю катэгорыю, у якой размешчаны непрацаздольныя парты, якія прэтэндуюць на выдаленне, калі не знойдзецца зацікаўленых у іх распрацоўцы энтузіястаў.

ключавыя паляпшэння NetBSD 9.0:

  • Дададзены новы гіпервізор НВММ, які падтрымлівае апаратныя механізмы забеспячэння віртуалізацыі SVM для CPU AMD і VMX для CPU Intel. Асаблівасцю NVMM з'яўляецца тое, што на ўзроўні ядра выконваецца толькі мінімальна неабходны набор абвязак вакол апаратных механізмаў віртуалізацыі, а ўвесь код эмуляцыі абсталявання вынесены з ядра ў прастору карыстальніка. Для кіравання віртуальнымі машынамі падрыхтаваны інструментарый на базе бібліятэкі libnvmm, а таксама пакет qemu-nvmm для запуску гасцявых сістэм з выкарыстаннем NVMM. API libnvmm ахоплівае такія функцыі як стварэнне і запуск віртуальнай машыны, вылучэнне памяці гасцявой сістэме, размеркаванне VCPU. Пры гэтым libnvmm не ўтрымоўвае функцыі эмулятара, а толькі падае API, які дазваляе інтэграваць падтрымку NVMM у існыя эмулятары, такія як QEMU;
  • Забяспечана падтрымка 64-разраднай архітэктуры AArch64 (ARMv8-A), уключаючы серверныя сістэмы, якія адпавядаюць патрабаванням ARM ServerReady (SBBR+SBSA), і сістэмы big.LITTLE (камбінацыя ў адным чыпе магутных, але спажывальных шмат энергіі, ядраў, і меней прадукцыйных, але больш энергаэфектыўных ядраў). Падтрымліваецца выкананне 32-разрадных прыкладанняў у 64-разрадным асяроддзі праз выкарыстанне COMPAT_NETBSD32. Магчыма выкарыстанне да 256 CPU. Падтрымліваецца запуск у эмулятары QEMU і SoC:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Серверныя поплаткі SBSA/SBBR, такія як Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Пашыраная падтрымка прылад на базе архітэктуры ARMv7-A. Дададзена падтрымка сістэм big.LITTLE і загрузкі праз UEFI. Магчыма выкарыстанне да 8 CPU. Дададзена падтрымка 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
  • Абноўлены графічныя драйверы для GPU Intel (дададзеная падтрымка Intel Kabylake), NVIDIA і AMD для сістэм x86. Падсістэма DRM/KMS сінхранізаваная з ядром Linux 4.4. Дададзены новыя драйверы для GPU, якія прымяняюцца на сістэмах ARM, уключаючы DRM / KMS-драйверы для Allwinner DE2, Rockchip VOP і TI AM335x LCDC, драйвер framebuffer для ARM PrimeCell PL111 і TI OMAP3 DSS;
  • Палепшана падтрымка працы NetBSD у якасці гасцёўні АС. Дададзена падтрымка прылады fw_cfg (QEMU Firmware Configuration), Virtio MMIO і PCI для ARM. Забяспечана падтрымка HyperV для x86;
  • Рэалізаваны лічыльнікі для маніторынгу прадукцыйнасці, якія дазваляюць на лёце аналізаваць прадукцыйнасць ядра і карыстацкіх прыкладанняў. Упраўленне ажыццяўляецца праз каманду tprof. Падтрымліваюцца платформы Armv7, Armv8 і x86 (AMD і Intel);
  • Для архітэктуры x86_64 дададзены механізм рандомизации адраснай прасторы ядра (KASLR, Kernel Address Space Layout Randomization), які дазваляе павялічыць устойлівасць да некаторых выглядаў нападаў, якія эксплуатуюць уразлівасці ў ядры, за рахунак фармавання выпадковай раскладкі кода ядра ў памяці пры кожнай загрузцы;
  • Для архітэктуры x86_64 дададзена падтрымка KLEAK, тэхнікі для выяўлення ўцечак памяці ядра, якая дазволіла знайсці і выправіць больш за 25 памылак у ядры;
  • Для архітэктур x86_64 і Aarch64 рэалізаваны адладкавы механізм KASan (Kernel address sanitizer), які дазваляе выяўляць памылкі працы з памяццю, такія як звароты да ўжо вызваленых блокаў памяці і перапаўненні буфераў;
  • Дададзены механізм KUBSAN (Kernel Undefined Behavior Sanitizer) для выяўлення выпадкаў нявызначаных паводзін у ядры
  • Для архітэктуры x86_64 рэалізаваны драйвер KCOV (Kernel Coverage) для аналізу пакрыцця кода ядра;
  • Дададзены Userland Sanitizer для выяўлення памылак і анамалій пры выкананні прыкладанняў у прасторы карыстальніка;
  • Дададзены механізм KHH (Kernel Heap Hardening) для абароны кучы ад некаторых выглядаў памылак працы з памяццю;
  • Праведзены аўдыт бяспекі сеткавага стэка;
  • Палепшаны адладкавы інструментар ptrace;
  • Праведзена чыстка ядра ад старых і пакінутых без суправаджэння падсістэм, такіх як NETISDN (драйверы daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 і ipkdb;
  • Пашыраны магчымасці і праведзена аптымізацыя прадукцыйнасці пакетнага фільтра НПФ, які зараз актываваны па змаўчанні;
  • Абноўлена рэалізацыя файлавай сістэмы ZFS, якая даведзена да стану, прыдатнага для паўсядзённага выкарыстання. Магчымасці загрузкі з ZFS і выкарыстанні ZFS на каранёвай частцы пакуль не падтрымліваюцца;
  • Дададзены новыя драйверы, уключаючы bwfm для бесправадных прылад Broadcom (Full-MAC), ena для Amazon Elastic Network Adapter і mcx для Ethernet-адаптараў Mellanox ConnectX-4, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
  • Перапрацавана падсістэма SATA, у якой з'явілася падтрымка NCQ і палепшана апрацоўка памылак, якія выдаюцца назапашвальнікам;
  • Прапанаваны новы фрэймворк usbnet для стварэння драйвераў для Ethernet-адаптараў з інтэрфейсам USB;
  • Абноўлены версіі іншых кампанентаў, уключаючы GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 і SQLite 3.26.0.

    Крыніца: opennet.ru

Дадаць каментар