asosiy operatsion tizim versiyasi , unda yangi xususiyatlarning keyingi qismi amalga oshiriladi. Yuklash uchun 470 MB hajmdagi o'rnatish tasvirlari. NetBSD 9.0 versiyasi rasman uchun tuzilmalarida mavjud va 15 xil CPU oilalari.
Alohida, NetBSD ning rivojlanish strategiyasining asosini tashkil etuvchi 8 ta birinchi navbatda qo'llab-quvvatlanadigan portlar mavjud: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 va xen. Alpha, hppa, m49, m68010k, sh68, sparc va vax kabi protsessorlar bilan bog'langan 3 ta port ikkinchi toifaga tasniflanadi, ya'ni. hali ham qo'llab-quvvatlanadi, lekin o'z ahamiyatini yo'qotdi yoki ularning rivojlanishidan manfaatdor bo'lgan ishlab chiquvchilarning etarli soniga ega emas. Bitta port (acorn26) uchinchi toifaga kiritilgan bo'lib, unda ishlamay qolgan portlar mavjud bo'lib, agar ularning rivojlanishiga qiziquvchilar bo'lmasa, olib tashlanishi mumkin.
Kalit NetBSD 9.0:
- Yangi gipervisor qo'shildi , AMD protsessorlari uchun SVM va Intel protsessorlari uchun VMX apparat virtualizatsiya mexanizmlarini qo'llab-quvvatlaydi. NVMM ning o'ziga xos xususiyati shundaki, yadro darajasida faqat apparat virtualizatsiya mexanizmlari atrofida kerakli minimal bog'lanishlar to'plami amalga oshiriladi va barcha apparat emulyatsiya kodlari yadrodan foydalanuvchi maydoniga ko'chiriladi. Virtual mashinalarni boshqarish uchun libnvmm kutubxonasiga asoslangan vositalar, shuningdek NVMM yordamida mehmon tizimlarini ishga tushirish uchun qemu-nvmm paketi tayyorlangan. Libnvmm API virtual mashinani yaratish va ishga tushirish, mehmon tizimiga xotira ajratish va VCPUlarni taqsimlash kabi funktsiyalarni qamrab oladi. Biroq, libnvmm emulyator funksiyalarini o'z ichiga olmaydi, faqat NVMM qo'llab-quvvatlashini QEMU kabi mavjud emulyatorlarga integratsiya qilish imkonini beruvchi APIni taqdim etadi;
- 64-bitli AArch64 arxitekturasini (ARMv8-A), shu jumladan ARM-mos keladigan server tizimlarini qo'llab-quvvatlaydi. (SBBR+SBSA) va big.LITTLE tizimlar (bir chipda kuchli, lekin energiya sarflaydigan va unumdorligi past, lekin energiyani tejaydigan yadrolarning kombinatsiyasi). U COMPAT_NETBSD32 yordamida 64 bitli muhitda 32 bitli ilovalarni ishga tushirishni qo'llab-quvvatlaydi. 256 tagacha protsessordan foydalanish mumkin. QEMU emulyatorida va SoCda ishlash qo'llab-quvvatlanadi:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040 kabi SBSA/SBBR server platalari.
- ARMv7-A arxitekturasiga asoslangan qurilmalarni qo‘llab-quvvatlash kengaytirildi. Big.LITTLE tizimlari va UEFI orqali yuklash uchun qo‘shimcha yordam. 8 tagacha protsessordan foydalanish mumkin. Qo'shilgan SoC yordami:
- Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
- Amlogik S805
- Arm universal 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-ni mehmon operatsion tizimi sifatida ishlatish uchun yaxshilangan yordam. fw_cfg qurilmasi (QEMU proshivka konfiguratsiyasi), Virtio MMIO va ARM uchun PCI uchun qo'shimcha yordam. X86 uchun HyperV-ni qo'llab-quvvatlash;
- Ishlashni nazorat qilish uchun hisoblagichlar o'rnatildi, bu sizga yadro va foydalanuvchi ilovalarining ishlashini tezda tahlil qilish imkonini beradi. Boshqarish tprof buyrug'i orqali amalga oshiriladi. Armv7, Armv8 va x86 (AMD va Intel) platformalari qo'llab-quvvatlanadi;
- X86_64 arxitekturasi uchun yadro manzil maydonini tasodifiylashtirish mexanizmi (KASLR, Kernel Address Space Layout Randomization), bu har bir yuklashda xotirada yadro kodining tasodifiy tartibini yaratish orqali yadrodagi zaifliklardan foydalanadigan ayrim turdagi hujumlarga qarshilikni oshirish imkonini beradi;
- X86_64 arxitekturasi uchun qo'shimcha qo'llab-quvvatlash , yadro xotirasidagi qochqinlarni aniqlash texnikasi, bu bizga yadrodagi 25 dan ortiq xatolarni topish va tuzatish imkonini berdi;
- X86_64 va Aarch64 arxitekturalari uchun KASan (Yadro manzilini sanitizer) disk raskadrovka mexanizmi amalga oshirildi, bu sizga xotira xatolarini aniqlash imkonini beradi, masalan, allaqachon bo'shatilgan xotira bloklariga kirish va bufer to'lib ketishi;
- Yadroda aniqlanmagan xatti-harakatlar holatlarini aniqlash uchun KUBSAN (Yadro undefined Behavior Sanitizer) mexanizmi qo'shildi.
- X86_64 arxitekturasi uchun yadro kodining qamrovini tahlil qilish uchun KCOV (Yadro qoplamasi) drayveri joriy qilingan;
- Foydalanuvchi maydonida ilovalarni ishga tushirishda xatolik va anomaliyalarni aniqlash uchun Userland Sanitizer qo‘shildi;
- Uyumni ma'lum turdagi xotira xatolaridan himoya qilish uchun KHH (Kernel Heap Hardening) mexanizmi qo'shildi;
- tarmoq steklari xavfsizligi auditi;
- Yaxshilangan ptrace disk raskadrovka vositalari;
- Yadro NETISDN (drayvlar daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 va ipkdb kabi eski va ta'mirlanmagan quyi tizimlardan tozalandi;
- Paket filtrining imkoniyatlari kengaytirildi va ishlash optimallashtirildi , bu endi sukut bo'yicha yoqilgan;
- ZFS fayl tizimini tatbiq etish uni kundalik foydalanishga moslashtirish uchun yangilandi. ZFS-dan yuklash va ildiz bo'limida ZFS-dan foydalanish imkoniyati hali qo'llab-quvvatlanmaydi;
- Broadcom simsiz qurilmalari (Full-MAC) uchun bwfm, Amazon Elastic Network Adapter uchun ena va Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet adapterlari uchun mcx kabi yangi drayverlar qo‘shildi. ;
- SATA quyi tizimi qayta ishlab chiqilgan bo'lib, NCQ uchun qo'llab-quvvatlash qo'shildi va haydovchi tomonidan yaratilgan xatolarni boshqarishni takomillashtirish;
- USB interfeysi bilan Ethernet adapterlari uchun drayverlarni yaratish uchun yangi usbnet ramka;
- GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 va SQLite 3.26.0 kabi uchinchi tomon komponentlarining yangilangan versiyalari.
Manba: opennet.ru
