أنواع الأجهزة الظاهرية
- 8 دقائق
هناك نوعان من التطبيقات الرئيسية للأجهزة الظاهرية (VMs): أجهزة ظاهرية للعملية وأجهزة ظاهرية للنظام. يغطي الفيديو التالي تصنيف أنواع الأجهزة الظاهرية:
نغطي أولاً الأجهزة الظاهرية للعملية ثم الأجهزة الظاهرية للنظام.
الأجهزة الظاهرية للعملية
الشكل 4: معالجة الأجهزة الظاهرية
الجهاز الظاهري للعملية هو جهاز ظاهري قادر على دعم عملية فردية طالما أن العملية قيد التشغيل. يوضح الشكل 4 الأجهزة الظاهرية للعملية. يتوقف الجهاز الظاهري للعملية عندما تتوقف العملية المستضافة. من منظور الجهاز الظاهري للعملية، يتكون الجهاز من مساحة عنوان ذاكرة ظاهرية، تسجيلات على مستوى المستخدم، وإرشادات تم تعيينها إلى عملية لتنفيذ برنامج مستخدم. وفقًا لهذا التعريف، يمكن أيضًا تسمية عملية في نظام تشغيل للأغراض العامة باسم جهاز. ومع ذلك، يمكن للعملية العادية في نظام التشغيل أن تدعم فقط ثنائيات برنامج المستخدم المترجمة لـ ISA للجهاز المضيف. أي أنه يختلف تنفيذ الثنائيات المترجمة لـ ISA عن ذلك الخاص بالجهاز المضيف والتي لا تدعمه العمليات العادية. وعلى العكس من ذلك، يسمح الجهاز الظاهري للعملية بحدوث ذلك. يمكن أن تدعم الأجهزة الظاهرية للعملية ISA التي تختلف عن ISA المضيفة عن طريق المحاكاة. كما هو مبين في الشكل 5، فإن المحاكاة هي عملية السماح بتنفيذ واجهات ووظائف نظام واحد (المصدر) على نظام ذي واجهات ووظائف مختلفة (الهدف). تتم مناقشة المحاكاة بالتفصيل لاحقًا. يتم توفير تجريد الجهاز الظاهري للعملية بواسطة قطعة من برامج المحاكاة الظاهرية تسمى وقت التشغيل (انظر الشكل 4). يتم وضع وقت التشغيل في الواجهة الثنائية للتطبيق (ABI) على نظام التشغيل المضيف والأجهزة الأساسية. وقت التشغيل هذا هو الذي يحاكي إرشادات الجهاز الظاهري و/أو استدعاءات النظام عندما تختلف ISAs الخاصة بالضيف والمضيف.
الشكل 5: عملية المحاكاة
وأخيرًا، قد لا يتوافق الجهاز الظاهري للعملية مباشرة مع أي منصة فعلية، يتم استخدامه بشكل أساسي لتوفير إمكانية النقل عبر الأنظمة الأساسية. وتسمى هذه الأنواع من الأجهزة الظاهرية للعملية أجهزة ظاهرية ذات لغة عالية المستوى (HLL VMs). يقوم الجهاز الظاهري ذو اللغة عالية المستوي بإخراج تفاصيل موارد الأجهزة الأساسية ونظام التشغيل ويسمح للبرامج بالعمل بنفس الطريقة على أي نظام أساسي. ويعد Java VM (JVM) وMicrosoft Common Language Infrastructure (CLI) مثالين على الأجهزة الظاهرية ذات اللغة عالية المستوى.
باختصار، VM لعملية يشبه عملية عادية تعمل على نظام تشغيل. ومع ذلك، يسمح الجهاز الظاهري للعملية عبر المحاكاة بتنفيذ تطبيق مترجم لـ ISA مختلفة عن الجهاز المضيف.
الأجهزة الظاهرية للنظام
على عكس الأجهزة الظاهرية للعملية، فإن الجهاز الظاهري للنظام هو جهاز ظاهري قادر على تحويل مجموعة كاملة من موارد الأجهزة، بما في ذلك المعالجات والذاكرات وأجهزة الإدخال/الإخراج، ومن ثمَّ توفير بيئة نظام كاملة. يمكن للجهاز الظاهري للنظام دعم نظام التشغيل جنبًا إلى جنب مع العمليات المرتبطة به طالما أن بيئة النظام قيد التشغيل. يوضح الشكل 6 الأجهزة الظاهرية للنظام. كما تم تعريفه مسبقًا، يعد برنامج Hypervisor (أو جهاز عرض [VMM]) جزءًا من البرنامج الذي يوفر التجريد للجهاز الظاهري للنظام. يمكن وضعه على مستوى ISA مباشرة على الأجهزة الخام وأسفل صور النظام (على سبيل المثال، أنظمة التشغيل). يمكن مشاركة موارد الأجهزة من النظام الأساسي المضيف بين أجهزة الضيف الظاهرية المتعدد. يدير hypervisor تخصيص والوصول إلى موارد الأجهزة بواسطة أجهزة الضيف الظاهرية. في الممارسة العملية، يوفر hypervisor طريقة أنيقة لعزل العديد من أجهزة الضيف الظاهرية بشكل منطقي والتي تشترك في نظام مادي واحد. يُمنح كل جهاز ظاهري ضيف وهم الحصول على جميع موارد الأجهزة الأساسية.
الشكل 6: الأجهزة الظاهرية للنظام
توجد فئات مختلفة من الأجهزة الظاهرية للنظام. ويعرض الشكل 7 ثلاثًا من هذه الفئات فضلاً عن النظم التقليدية. في النظام التقليدي المشترك بالوقت، يعمل نظام التشغيل في وضع الامتياز (وضع النظام)، بينما تعمل التطبيقات المرتبطة به في وضع غير مميز (وضع المستخدم). (تتم مناقشة المزيد من التفاصيل حول امتيازات النظام لاحقا.) ومع ذلك، مع ظاهرية النظام، قد يتم تشغيل نظام (أنظمة) التشغيل الضيف في وضع غير مميز، بينما يعمل برنامج تشغيل الآلة الافتراضية في وضع متميز. يسمى هذا النظام جهازًا ظاهريًا للنظام الأصلي. في الجهاز الظاهري للنظام الأصلي، يجب على كل تعليمات مميزة صادرة عن برنامج مستخدم في أي نظام تشغيل ضيف الانتقال إلى برنامج Hypervisor. بالإضافة إلى ذلك، يحتاج برنامج Hypervisor إلى تحديد وتنفيذ كل وظيفة مطلوبة لإدارة موارد الأجهزة. من ناحية أخرى، إذا كان برنامج Hypervisor يعمل في وضع غير مميز أعلى نظام تشغيل مضيف، فسيعمل نظام (أنظمة) التشغيل الضيف أيضًا في وضع غير مميز. يسمى هذا النظام نظام الجهاز الظاهري للنظام المستضاف في وضع المستخدم. في هذه الحالة، لا تزال التعليمات المميزة من نظام (أنظمة) تشغيل الضيف بحاجة إلى الانتقال إلى برنامج Hypervisor. في المقابل، يحتاج برنامج Hypervisor أيضًا إلى الانتقال إلى نظام التشغيل المضيف. ومن الواضح أن هذا المطلب يزيد من النفقات العامة عن طريق إضافة انتقال آخر لكل تعليمة مميزة. ومع ذلك، يمكن لبرنامج Hypervisor الاستفادة من الوظائف المتاحة بالفعل على نظام التشغيل المضيف لإدارة موارد الأجهزة. وأخيرًا، يمكن أن يعمل برنامج hypervisor جزئيًا في وضع مميز وجزئيًا في وضع المستخدم في نظام يسمى الجهاز الظاهري للنظام المستضاف ذي الوضع الثنائي. بهذه الطريقة، يمكن لبرنامج Hypervisor الاستفادة من وظائف إدارة موارد نظام التشغيل المضيف واستبعاد الانتقال أكثر من مرة لكل تعليمات مميزة مفروضة في الأجهزة الظاهرية للنظام المستضاف في وضع المستخدم.
الشكل 7: فئات الجهاز الظاهري للنظام المختلفة
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟