Релиз на операционната система 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:

  • Добавен е нов хипервизор NVMM, поддържащ хардуерни механизми за виртуализация 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;
  • Разширени са възможностите и извършена оптимизация на производителността на пакетния филтър NPF, който сега е активиран по подразбиране;
  • Обновена е реализацията на файловата система ZFS, която е доведена до състояние, подходящо за ежедневно използване. Възможностите за зареждане от ZFS и използване на ZFS на кореновия дял все още не се поддържат;
  • Добавени са нови драйвери, включително bwfm за безжични устройства на Broadcom (Full-MAC), ena за Amazon Elastic Network Adapter и mcx за Ethernet адаптери Mellanox ConnectX-4 Lx EN, 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster