основна версия на операционната система , в който е внедрена следващата порция нови функции. За зареждане инсталационни изображения с размер 470 MB. Изданието NetBSD 9.0 е официално достъпно в компилации за и 15 различни семейства CPU.
Отделно, има 8 основно поддържани порта, които формират ядрото на стратегията за развитие на NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 и xen. 49 порта, свързани с процесори като alpha, hppa, m68010, m68k, sh3, sparc и vax, са класифицирани във втората категория, т.е. все още се поддържат, но са загубили своята релевантност или нямат достатъчен брой разработчици, заинтересовани от тяхното развитие. Един порт (acorn26) е включен в третата категория, която съдържа неработещи портове, които подлежат на премахване, ако няма ентусиасти, заинтересовани от тяхната разработка.
Ключ NetBSD 9.0:
- Добавен нов хипервизор , който поддържа механизми за хардуерна виртуализация SVM за AMD CPU и VMX за Intel CPU. Специална характеристика на NVMM е, че на ниво ядро се изпълнява само минимално необходимият набор от свързвания около хардуерни механизми за виртуализация и целият код за хардуерна емулация се премества извън ядрото в потребителското пространство. За управление на виртуални машини са подготвени инструменти, базирани на библиотеката libnvmm, както и пакет qemu-nvmm за стартиране на системи за гости, използващи NVMM. API на libnvmm обхваща функции като създаване и стартиране на виртуална машина, разпределяне на памет към системата за гости и разпределяне на VCPU. Въпреки това, libnvmm не съдържа функции за емулатор, а само предоставя API, който ви позволява да интегрирате поддръжката на NVMM в съществуващи емулатори като QEMU;
- Осигурява поддръжка за 64-битова AArch64 архитектура (ARMv8-A), включително ARM-съвместими сървърни системи (SBBR+SBSA) и big.LITTLE системи (комбинация от мощни, но енергоемки ядра и по-малко продуктивни, но по-енергийно ефективни ядра в един чип). Той поддържа стартиране на 32-битови приложения в 64-битова среда чрез използването на COMPAT_NETBSD32. Могат да се използват до 256 процесора. Поддържа се работа в 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 процесора. Добавена поддръжка на 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 като гост OS. Добавена е поддръжка за fw_cfg устройство (QEMU конфигурация на фърмуера), Virtio MMIO и PCI за ARM. Осигурена поддръжка за HyperV за x86;
- Внедрени са броячи за наблюдение на производителността, което ви позволява да анализирате производителността на ядрото и потребителските приложения в движение. Управлението се осъществява чрез командата tprof. Поддържат се платформи Armv7, Armv8 и x86 (AMD и Intel);
- За x86_64 архитектура механизъм за рандомизиране на адресното пространство на ядрото (KASLR, Kernel Address Space Layout Randomization), който ви позволява да увеличите устойчивостта на определени видове атаки, които използват уязвимости в ядрото, като генерирате произволно оформление на кода на ядрото в паметта при всяко зареждане;
- Добавена е поддръжка за x86_64 архитектура , техника за откриване на изтичане на памет на ядрото, което ни позволи да намерим и коригираме повече от 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 за Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet адаптери ;
- Подсистемата 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
