انتشار سیستم عامل 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 ها مانند آلفا، hppa، m68010، m68k، sh3، sparc و vax در دسته دوم طبقه بندی می شوند، یعنی. هنوز پشتیبانی می شوند، اما ارتباط خود را از دست داده اند یا تعداد کافی توسعه دهنده علاقه مند به توسعه خود ندارند. یک پورت (acorn26) در دسته سوم گنجانده شده است که شامل پورت های غیرفعال است که در صورت عدم وجود علاقه مندان به توسعه آنها واجد شرایط حذف هستند.

کلید پیشرفت ها NetBSD 9.0:

  • هایپروایزر جدید اضافه شد NVMMکه از مکانیزم های مجازی سازی سخت افزاری SVM برای CPU های AMD و VMX برای CPU های اینتل پشتیبانی می کند. ویژگی خاص 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)
    • سامسونگ Exynos 5422
    • TI AM335x، OMAP3
    • Xilinx Zynq 7000
  • درایورهای گرافیکی به روز شده برای پردازنده های گرافیکی اینتل (پشتیبانی اضافه شده برای اینتل Kabylake)، NVIDIA و AMD برای سیستم های x86. زیرسیستم DRM/KMS با هسته لینوکس 4.4 همگام شده است. درایورهای جدید GPU مورد استفاده در سیستم های ARM، از جمله درایورهای DRM/KMS برای Allwinner DE2، Rockchip VOP و TI AM335x LCDC، درایور فریم بافر برای ARM PrimeCell PL111 و TI OMAP3 DSS اضافه شده است.
  • پشتیبانی بهبود یافته برای اجرای NetBSD به عنوان سیستم عامل مهمان. پشتیبانی از دستگاه fw_cfg (پیکربندی سیستم عامل QEMU)، Virtio MMIO و PCI برای ARM اضافه شده است. پشتیبانی از HyperV برای x86.
  • شمارنده‌هایی برای نظارت بر عملکرد پیاده‌سازی شده‌اند که به شما امکان می‌دهند عملکرد هسته و برنامه‌های کاربر را در لحظه تجزیه و تحلیل کنید. کنترل از طریق دستور tprof انجام می شود. پلتفرم های Armv7، Armv8 و x86 (AMD و Intel) پشتیبانی می شوند.
  • برای معماری x86_64 اضافه مکانیزمی برای تصادفی‌سازی فضای آدرس هسته (KASLR، تصادفی‌سازی طرح‌بندی فضای آدرس آدرس هسته)، که به شما امکان می‌دهد مقاومت را در برابر انواع خاصی از حملات که از آسیب‌پذیری‌های هسته سوء استفاده می‌کنند، با ایجاد یک طرح‌بندی تصادفی از کد هسته در حافظه در هر بوت افزایش دهید.
  • پشتیبانی از معماری x86_64 اضافه شده است KLEAK، تکنیکی برای تشخیص نشت حافظه هسته که به ما امکان می دهد بیش از 25 خطا را در هسته پیدا کرده و برطرف کنیم.
  • برای معماری های x86_64 و Aarch64، مکانیسم اشکال زدایی KASan (عفونی کننده آدرس هسته) پیاده سازی شده است که به شما امکان می دهد خطاهای حافظه مانند دسترسی به بلوک های حافظه از قبل آزاد شده و سرریزهای بافر را شناسایی کنید.
  • مکانیسم KUBSAN (عفونی کننده رفتار نامشخص کرنل) برای تشخیص موارد رفتار نامشخص در هسته اضافه شد.
  • برای معماری x86_64، درایور KCOV (پوشش هسته) برای تجزیه و تحلیل پوشش کد هسته پیاده سازی شده است.
  • اضافه شده Userland Sanitizer برای تشخیص خطاها و ناهنجاری ها هنگام اجرای برنامه ها در فضای کاربر.
  • مکانیسم KHH (سخت شدن پشته هسته) برای محافظت از پشته در برابر انواع خاصی از خطاهای حافظه اضافه شده است.
  • انجام شده ممیزی امنیت پشته شبکه؛
  • ابزارهای رفع اشکال ptrace بهبود یافته.
  • هسته از زیرسیستم های قدیمی و نگهداری نشده، مانند NETISDN (درایورهای daic، iavc، ifpci، ifritz، iwic، isic)، NETNATM، NDIS، SVR3، SVR4، n8، vm86 و ipkdb پاک شد.
  • قابلیت های فیلتر بسته گسترش یافته و عملکرد بهینه شده است NPF، که اکنون به طور پیش فرض فعال است.
  • پیاده سازی سیستم فایل ZFS به روز شده است تا برای استفاده روزمره مناسب باشد. توانایی بوت شدن از ZFS و استفاده از ZFS در پارتیشن ریشه هنوز پشتیبانی نمی شود.
  • درایورهای جدیدی اضافه شده است، از جمله bwfm برای دستگاه های بی سیم Broadcom (Full-MAC)، ena برای آداپتور شبکه الاستیک آمازون و mcx برای آداپتورهای اترنت Mellanox ConnectX-4 Lx EN، ConnectX-4 EN، ConnectX-5 EN، ConnectX-6 EN ;
  • زیرسیستم SATA دوباره طراحی شده است و پشتیبانی از NCQ را اضافه کرده و مدیریت خطاهای تولید شده توسط درایو را بهبود می بخشد.
  • پیشنهاد شده یک چارچوب جدید usbnet برای ایجاد درایور برای آداپتورهای اترنت با رابط USB.
  • نسخه های به روز شده اجزای شخص ثالث، از جمله GCC 7.4، GDB 8.3، LLVM 7.0.0، OpenSSL 1.1.1d، OpenSSH 8.0 و SQLite 3.26.0.

    منبع: opennet.ru

اضافه کردن نظر