
مایکروسافت یک درایور هسته (Kernel Driver) جدید را برای چرخه پیشروی لینوکس ۷.۴ به جامعه توسعهدهندگان لینوکس ارائه کرده است. این درایور که در شاخه «next-» زیرسیستم IOMMU قرار گرفته، یک درایور IOMMU پارا-مجازیسازیشده (Para-Virtualized IOMMU Driver) است که هدف آن بهبود عملکرد و امنیت ماشینهای مجازی مهمان (Guest VMs) لینوکسی روی بستر مجازیسازی Hyper-V مایکروسافت است.
درایور IOMMU پارا-مجازیشده چه قابلیتی به لینوکس اضافه میکند؟
این درایور از طریق گزینه پیکربندی تازهای با نام HYPERV_PVIOMMU در سازوکار Kconfig فعال میشود. به گفته توسعهدهندگان، درایور IOMMU پارا-مجازیشده مایکروسافت به ماشینهای مجازی مهمان لینوکسی روی Hyper-V اجازه میدهد از حفاظت DMA درونهستهای (In-Kernel DMA Protection) برای دستگاههایی که به مهمان تخصیص داده شدهاند، بهرهمند شوند.
علاوه بر این، این درایور امکان تخصیص دستگاه (Device Assignment) به فضای کاربری مهمان را نیز فراهم میکند؛ برای نمونه از طریق چارچوب VFIO. این ویژگی برای بارهای کاری حساس و نیازمند دسترسی مستقیم به سختافزار، اهمیت بالایی دارد.
پشتیبانی همزمان از فناوریهای اینتل و AMD
یکی از نکات قابل توجه این درایور، سازگاری آن با هر دو بستر سختافزاری مطرح در حوزه مجازیسازی است. این IOMMU پارا-مجازیشده برای Hyper-V روی سیستمهای مجهز به Intel VT-d و همچنین سیستمهای دارای AMD IOMMU کار میکند.
بر اساس گزارش منتشرشده، این قابلیت با آزمایش دستگاههای NVMe تخصیصیافته به مهمان اعتبارسنجی شده است. در سمت اینتل نیز دستگاههای شتابدهنده DSA در فرآیند تخصیص به ماشینهای مجازی مهمان لینوکسی مورد آزمون قرار گرفتهاند.
مسیر طولانی از نخستین وصله تا ادغام در هسته
درایور «hv-iommu-guest» مسیری طولانی را تا رسیدن به این مرحله طی کرده است. نخستین وصلههای درخواست نظرات (RFC Patches) برای این پشتیبانی به دسامبر ۲۰۲۳ بازمیگردد؛ یعنی حدود سه سال پیش از انتشار پایدار لینوکس ۷.۴ که انتظار میرود حدود پایان دسامبر عرضه شود.
در حال حاضر کد این درایور در شاخه next گیت (Git) نگهداری میشود و تا زمان باز شدن پنجره ادغام (Merge Window) لینوکس ۷.۴ در اواخر همین ماه در همین شاخه باقی خواهد ماند. این رویداد در کنار قابلیت PerfOpt شرکت AMD، فضای زیرسیستم IOMMU در نسخه پیشروی هسته لینوکس را به یکی از بخشهای پرتحرک تبدیل کرده است.