المعلوماتية > عام

أجهزة الإدخال والإخراج الافتراضيـّة

بعد الحديثِ عن وحداتِ المعالجةِ المركزية الافتراضية والذاكرة الافتراضية، نَـنْـتَـقِـلُ الآن إلى توفيرِ المكوّن الأخيرِ من مكوّنات الخوادم الافتراضية وهو وحدات الإدخال والإخراج الافتراضية(Virtual I/O)، والذي يَـتَـطـلّب توفيرَ مساراتٍ لنقلِ طلباتِ عمليـّاتِ الإدخال والإخراج من الأجهزةِ الافتراضيةِ إلى أجهزة الإدخال والإخراج الفيزيائية الفعليـّة الموجودةِ في النّـظام الحاسوبي، والتي تتشاركها الأجهزة الافتراضية المتعـدّدة فيما بينها.

كما هو الحال في وحدةِ المعالجةِ المركزيةِ والذاكرة، هناك أسلوبان لتوفيرِ أجهزةِ الإدخالِ والإخراجِ الافتراضية. يعتمدُ الأسلوبُ الأوّل على الحلولِ البرمجيةِ، ويعتمدُ الثاني على الدعم الذي يوفّـره العتاد الحاسوبي.

توفير وحدات الإدخال والإخراج الافتراضية باستخدام البرمجيات:

في هذا الاسلوب، يقوم الـhypervisor بتوفيرِ مجموعةٍ موحدةٍ من أجهزةِ الإدخالِ والإخراجِ الافتراضية لكل جهاز افتراضي.

تُـحاكي أجهزةُ الإدخالِ والإخراج الافتراضية هذه مجموعةً من أجهزةِ الإدخالِ والإخراجِ المعروفةِ بشكل فعـّال، ثم تُـتَـرجِم طلباتِ الأجهزة الافتراضية VM إلى طلباتٍ لأجهزة النظام.

على سبيل المثال، بالنسبة لعمليات الإدخال والإخراج عن طريقِ الشبكة، فإنّ معظمَ الخوادمِ الافتراضيـّةِ تَـستخدمُ حاليـًّا مبدّل شبكة (Switch) افتراضي من نوع معروف Cisco Nexus 1000v على سبيل المثال، تَـتِـمّ محاكاتُه برمجيـًّا داخل الـhypervisor لمشاركةِ الوصول إلى بطاقة الشبكة ( Network Interface Card – NIC) الفعلية فيما بين الأجهزة الافتراضية. كما تقومُ بطاقاتُ الشبكة الافتراضيـّة والمبدّلات الافتراضية بإنشاءِ شبكاتٍ افتراضيةٍ بين الأجهزة الافتراضية الموجودة على الخادم نفسهِ دون الحاجة إلى استخدام بطاقةِ الشبكة الفعليـّة والشبكة الفيزيائية الفعليَّة المتوفّرة.

على كل حال، وعلى الرغم من أنّ طرقَ توفيرِ وحداتِ الإدخالً والإخراجِ الافتراضيـّةِ القائمةِ على البرمجيـّات تقدِّم تشغيلًا وإدارةً أفضلَ لهذه الوحدات، إلا أنّـها تستهلك وحدة المعالجة المركزية بشكلٍ أكبر، وتؤدي إلى إنتاجيـّةٍ أقـلّ للنظام الحاسوبي.

لا بدّ من تَـدخّل الـhypervisor في كلّ عملية إدخال/إخراج، مِـمّـا يؤدّي إلى إضافة حِمل على وحدة المعالجة المركزية، وهذا الحمل يزدادُ بشكلٍ كبيرٍ جدًا في حالةِ بطاقات الشبكة الحالية التي يمكن لها أن تقوم بعمليات إدخال/إخراج بسرعة عدة غيغابايتات في كل ثانية.

توفير وحدات الإدخال و الإخراج بالاعتماد على دعم العتاد الحاسوبي (Hardware Approach):

أدّت مشكلةُ الحِمل الإضافي على وحدة المعالجة المركزية إلى التفكيرِ بتوفيرِ دعمٍ من خلالِ العتادِ لوحداتِ الإدخالِ والإخراجِ الافتراضيـّة، الأمر الذي تم توفيره من قبل عدة شركات منتجة للعتاد الحاسوبي مثل تقنية VT-d من شركة Intel و AMD-vi من شركة AMD.

باستخدامِ هذه التّـقنيات يمكن للـhypervisor أن يمنحَ أجهزة الإدخال والإخراج الفيزيائية الفعلية بشكلٍ مباشرٍ للأجهزةِ الافتراضية، لِـتَـنـتَـهِ الحاجةُ إلى مرورِ طلباتِ الإدخال والإخراج عن طريق مراقب الأجهزة الافتراضية، وبالتّـالي تقليل حِمل وحدة المعالجة المركزية وتحقيقِ مستوًى أعلى لأداء وحدات الإدخال والإخراج في الأجهزة الافتراضية.

تعتمدُ هذه التقنياتُ على توفيرِ عـدّةِ مناطقٍ مستقـلّـة للوصول المباشر إلى الذاكرة (DMA – Direct memory access).

كلّ منطقة وصول مباشر هي عبارة عن جزء من الذاكرة الفيزيائية المتوفرة في الحاسب المستضيف، وتُـمنَـحُ لأحد الأجهزة الافتراضية المُستضافة بحيث تكونُ معزولةً عن مناطق الوصول المباشر الأخرى. تَـتِـمّ مراقبةُ أي عملية وصول مباشر من جهاز إدخال/إخراج موجود في الحاسب المستضيف، لتحديدِ عنوان الذاكرة الذي تتعامل معه، وبالتّـالي يتم ربط عملية الوصول المباشر هذه بالجهاز الافتراضي المناسب من خلالِ عمليةٍ تُـسمّى «إعادة ربط الوصول المباشر إلى الذاكرة» (DMA Remapping).

إلى هنا نكون قد تعرّفنا على كيفيةِ توفيرِ خادمٍ افتراضيّ متكامل والجدير بالذّكر أنّ التطوّر التكنولوجي في تصنيع العتاد الحاسوبي مازال يدفع باتجاه المزيد من الدعم الذي يوفره العتاد للحوسبة الافتراضية. بالمقابل فإنّ مجالات تطبيق الحوسبة الافتراضية مازالت تشهدُ المزيدَ من التّـوسع لتغطّي طيفًا واسعًا من بيئاتِ الحوسبةِ تجاوزت الخوادم والحواسب الشخصية لتصلَ إلى أجهزةِ الهاتفِ المحمول وإلى أنظمة التحكم المضمنة.

المصدر هنا