الانتقال إلى المحتوى

IOMMU

مرجع المعماريةFeex

تترجم وحدة IOMMU وصول الأجهزة إلى الذاكرة وتقيده. تعتمد سلوكيات الحماية والتمرير الخاصة بها على طوبولوجيا المنصة، والبرامج الثابتة (firmware)، ونظام التشغيل، وتكوين برنامج التشغيل.

ما تحتاج إلى معرفته

تترجم وحدة IOMMU وصول الأجهزة إلى الذاكرة وتقيده. تعتمد سلوكيات الحماية والتمرير الخاصة بها على طوبولوجيا المنصة، والبرامج الثابتة (firmware)، ونظام التشغيل، وتكوين برنامج التشغيل.

كيف يعمل

يُصدر الجهاز معاملات DMA باستخدام عناوين تفسرها وحدة ترجمة الإدخال/الإخراج. يكوّن نظام التشغيل أو برنامج مراقبة الأجهزة الافتراضية (hypervisor) نطاقات وتعيينات تربط تلك الطلبات بذاكرة النظام المسموح بها. تؤثر هويات الأجهزة، وحدود الترجمة المشتركة، ومعالجة المقاطعات على العزل العملي.

مواضع فائدتها

يمكن لجهاز افتراضي تلقي جهاز مدعوم من خلال إطار عمل يفرض مجموعة عزل IOMMU الخاصة به. قد يلزم تعيين الأجهزة التي تشترك في مجموعة واحدة معاً لأن المنصة لا يمكنها إنشاء عزل مستقل عند الحد المطلوب.

كيفية التحقق من الدعم والتمكين

افحص وصف IOMMU للمنصة وحالة التمكين الخاصة بنظام التشغيل/برنامج مراقبة الأجهزة الافتراضية، ومجموعاتها، ومتطلبات تعيين الأجهزة. على Intel، افحص VT-d؛ وعلى AMD، استخدم وسائط المحاكاة الافتراضية للإدخال/الإخراج الموثقة من AMD. تحقق من سلوك إعادة ضبط الجهاز المعني وبرنامج تشغيله بدقة.

يحتوي النشر الافتراضي على عدة طبقات: القدرة المادية، وإذن البرامج الثابتة، وبرنامج المراقبة الفوقي المضيف النشط، وقدرات الضيف المتاحة، ودعم نظام تشغيل الضيف. تحقق من الطبقة التي تعمل فيها العملية فعليًا، بما في ذلك المحاكاة الافتراضية المتداخلة عند الاقتضاء.

ما لا تثبته هذه الميزة

لا يُثبت علم IOMMU أن كل جهاز طرفي معزول بشكل مستقل أو أن الحماية نشطة. لا تقيد حمايات جدول صفحات وحدة المعالجة المركزية وحدها جميع عمليات DMA للأجهزة. يمكن أن تؤدي التجاوزات غير المدعومة للطوبولوجيا إلى إضعاف العزل، ولا تُعد حلاً روتينياً للتوافق.

التوافق والأداء في الممارسة العملية

يعد تنفيذ وحدة المعالجة المركزية، وترجمة ذاكرة الضيف، وإعادة تعيين DMA للأجهزة مرافق منفصلة. لا تستنتج وجود التمرير أو العزل من حقل افتراضي واحد. واستخدم الوسائل التشخيصية المدعومة لبرنامج المراقبة الفوقي ومتطلبات المنصة/الجهاز المحددة بدقة.

قائمة عملية للتحقق

  1. سجل الطراز الدقيق للمعالج أو المنصة، بالإضافة إلى إصدارات التطبيق ونظام التشغيل وبيئة التشغيل المعنية. واحتفظ بنص الخطأ الفعلي أو المتطلب كما هو.
  2. راجع مرجع الشركة المصنعة لذلك الطراز بدقة، ثم افحص القدرة الفعلية وحالة التمكين في البيئة التي يعمل فيها البرنامج.
  3. قارن كل متطلب من متطلبات الملف الثنائي أو الواجهة الخلفية المحددة. فوجود ميزة ذات اسم مشابه أو اسم بديل أو تصنيف تقني عام ليس كافيًا.
  4. تأكد من أن التطبيق قد اختار التنفيذ المطلوب. واستخدم وسائله التشخيصية الموثقة والبديل الاحتياطي المدعوم عندما لا يتم استيفاء المتطلبات.
  5. قم بإجراء تغيير مدعوم واحد في كل مرة وأعد تنفيذ نفس حمل العمل. واحتفظ بالتهيئة الأصلية ومسار الاسترداد متاحين.

إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها

ابدأ بالمكون الفعلي الذي حدث فيه الفشل. تصف قاعدة بيانات الأجهزة القدرات المسجلة؛ ولكن يمكن لنظام التشغيل أو برنامج المراقبة الفوقي (hypervisor) إتاحة بيئة فعلية مختلفة. ويتطلب خطأ التعليمة غير الصالحة (illegal-instruction) أيضًا فحص التعليمة المتسببة في الخطأ وبنية الملف الثنائي، لأن التلف أو وجود تعليمة غير مدعومة لا صلة لها بالأمر قد يُحدث أعراضًا مماثلة.

ثبت إصدار التطبيق أو برنامج التشغيل أو بيئة التشغيل المدعومة للمنصة المعنية بدقة، واستخدم البنية الأساسية أو الاحتياطية الموثقة من الشركة المصنعة عند الحاجة. لا يمكن للتحديث البرمجي إنشاء تعليمة يفتقر إليها المعالج. ويجب أن تتبع تغييرات البرامج الثابتة وسياسات الأمان إجراءات الشركة المصنعة للنظام وخطة استرداد، بدلاً من اتباع وصفة تحسين عامة.

مصادر ونطاق هذا التوضيح

مواصفات بنية تقنية Intel الافتراضية للإدخال/الإخراج الموجه (VT-d) · نواة Linux: وصول أجهزة VFIO ومجموعات IOMMU

تحدد هذه المراجع السلوك المعماري ومتطلبات البرمجيات. وهي لا تتحقق بشكل مستقل من قيمة كل ميزة على صفحة طراز عتاد مرتبطة. للحصول على دعم الطراز، استخدم أدلة الشركة المصنعة في تلك الصفحة وتحقق من تهيئة النظام الفعلية. لا تقدم هذه المقالة مقياس أداء أو شهادة اعتماد أو تاريخ مراجعة مستقلة.

المصادر والتحقق

الملكية التحريرية: Feex. لم يتم تسجيل تاريخ مراجعة مستقلة. كيف نقوم بالبحث.

هل كانت هذه المقالة مفيدة؟

يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.

هل كانت هذه المقالة مفيدة؟