logo

logo

logo

logo

logo

الآلة الافتراضية

اله افتراضيه

Virtual machine - Machine virtuelle

الآلة الافتراضية

محمد سعيد الدسوقي

فوائد التمثيل الافتراضي

مثالب التمثيل الافتراضي

تقنيات الآلة الافتراضية

أمثلة وتطبيقات

 

الآلة الافتراضية virtual machine هي برنامج حاسوبي يقوم بتقليد عمل آلة حقيقية (حاسوب) فيسمح بتنفيذ البرامج وكأنها تُنفَّذ على الآلة الحقيقية الأصلية.

تُستعمل الآلات الافتراضية لتشغيل البرامج في بيئة عمل افتراضية مختلفة عن بيئة العمل المتوفرة على الحاسوب الذي تعمل عليه، فيمكن مثلاً استعمال آلة افتراضية تسمح بتشغيل برامج تعمل على نظام تشغيل لينكس Linux ضمن حاسوب يعمل بنظام تشغيل ويندوزWindows . يسمى ذلك أيضاً بالتمثيل الافتراضي virtualization (الشكل 1).

الشكل (1)

يُسمى نظام التشغيل الذي توفّره الآلة الافتراضية نظام التشغيل الضيف guest operating system، وعند استخدام أكثر من آلة افتراضية يُحتاج إلى برنامج تحكم hypervisor، يُسمى أيضاً مدير الآلة الافتراضية (VMM)virtual machine manager. يقوم البرنامج بتقسيم الموارد افتراضياً بين تلك الآلات، وتُمكِّن الآلة الافتراضية المستخدم من الإقلاع وإعادة التشغيل بسرعة بفضل عدم الحاجة إلى إعادة تشغيل العتاد.

تُعدّ الآلات الافتراضية أيضاً طريقة لتحقيق المحمولية portability؛ أي عمل البرنامج الحاسوبي الواحد على مختلف أنظمة التشغيل ومختلف الأجهزة، فإذا توفرت آلة افتراضية - مثل آلة جافا- يمكن تشغيل البرامج المكتوبة بلغة جافا بصرف النظر عن احتياجات منصة التشغيل المتوفرة.

تُستخدم الآلات الافتراضية أيضاً لتشغيل برامج الحواسيب التي لم تعد متوفرة تجارياً؛ أو لتوفير مجموعة من البيئات المختلفة على حاسوب واحد.

وقد تكون الآلة الافتراضية مجموعة من الحواسيب التي تعمل معاً لبناء حاسوب أكثر فعالية. في هذه الحالة تُستعمل برمجيات لتوحيد البيئة بحيث يبدو للمستعمِل أنه يستخدم حاسوباً واحداً.

فوائد التمثيل الافتراضي

1 - الدمج والتوفير

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

2 - الأمن والاستقرار

تكون الآلات الافتراضية العاملة على مخدّم واحد معزولة، وهذا يضمن أمنها واستقرارها وعدم التعارض بين التطبيقات التي تعمل على كل منها.

3 - مرونة التطوير

يسمح توفر عدة أنظمة تشغيل على مخدّم واحد للمطوِّرين باختبار برامجهم على أنظمة مختلفة، كما أنَّ حدوث خطأ في آلة افتراضية ما في أثناء الاختبار لا يؤدي إلى إيقاف النظام وإعادة التشغيل.

4 - سهولة التهجير والنسخ

تعمل الآلات الافتراضية - بما فيها من أنظمة تشغيل وتطبيقات - كأنها حزم برمجية مستقلة عن العتاد، لذلك يسهل نسبياً نقل آلة افتراضية من مخدّم إلى آخر لتوزيع الحمل أو لتحسين الأداء أو للاستعادة من الأعطال.

مثالب التمثيل الافتراضي

1 - ضعف الفعالية: يؤدي الوصول غير المباشر إلى الموارد العتادية إلى تقليص فعالية الآلة الافتراضية مقارنةً بالآلة الحقيقية.

2 - تفاوت الأداء: قد يتفاوت أداء عمل الآلات الافتراضية بحسب الحمل الذي تفرضه الآلات الأخرى على النظام إذا لم يجرِ استخدام تقنيات مناسبة لعزل الآلات الافتراضية زمنياً.

تقنيات الآلة الافتراضية

1 - تمثيل افتراضي لعمل آلة حقيقية

يُسمى أيضاً تمثيلاً افتراضياً كاملاً full virtualization، ويمكن تحقيقه باستخدام برنامج يعمل على العتاد مباشرةً أو يعمل على نظام تشغيل آخر، ويستطيع تنفيذ أي نظام تشغيل يعمل على الآلة الأصلية. يسمح ذلك بتنفيذ عدة أنظمة تشغيل على حاسوب واحد. تُفيد هذه التقنية عند تطوير أنظمة التشغيل، إذ إنها تسمح بتجريب نسخ متعددة من نظام التشغيل المطوَّر باستخدام آلات افتراضية لكل منها.

النظام الرائد في استخدام هذا المفهوم هو نظام CP-40 الخاص بشركة IBM؛ والذي تلته إصدارات أخرى مثل CP/CMS وVM family.

لا تتوافق البنية المعيارية لمعالجات x86 المستخدمة في الحواسيب الشخصية مع متطلبات التمثيل الافتراضي، إذ لا تسمح بتمثيل افتراضي على مستوى التعليمة الواحدة. لذلك تلجأ الآلات الافتراضية - مثل VMware - إلى ما يسمى بالترجمة الديناميكية، وهذا ما يجعلها أبطأ من الآلات الافتراضية التي تعمل على بنية قابلة للتمثيل الافتراضي مثل IBM System/370 أو Motorola MC68020. في حين أدخلت شركتا Intel وAMD تعديلات على معالجاتها من النوع x86 بحيث تسمح بتمثيل افتراضي على مستوى العتاد.

2 - تمثيل افتراضي لتنفيذ التطبيقات البرمجية أو أنظمة التشغيل المكتوبة لمعالج حاسوبي آخر

تسمح هذه التقنية بتنفيذ البرمجيات المكتوبة بحسب توصيف ما على أي حاسوب يتضمن آلة افتراضية خاصة بهذا التوصيف. وبذلك يمكن كتابة البرامج لمرة واحدة واستخدامها على منصَّات مختلفة، حيث يكون لكل منصَّة آلتها الافتراضية المكتوبة لها بحسب التوصيف، والتي تعمل على المنصَّة كأي تطبيق آخر.

من أشهر الأمثلة على هذه التقنية آلة جافا الافتراضية Java virtual machine التي تسمح بتنفيذ برامج جافا على أي منصة حاسوبية. ومنها أيضاً آلة parrot الافتراضية التي تسمح بتنفيذ عدة لغات مفسَّرة interpreted، وآلة (CLR) common language runtime  الخاصة بإطار العمل دوت نت .NET

3 - التمثيل الافتراضي على مستوى نظام التشغيل

هي تقنية تعمل على مستوى نواة نظام التشغيلkernel ، وتسمح بإنشاء عدة فضاءات استخدام معزولة تُسمى بيئات افتراضية؛ بغرض تمكين عدة مستخدمين من العمل على مخدّم واحد؛ وبحيث يبدو كل فضاء منها للمستخدم الذي يملكه كأنه مخدّم حقيقي مستقل.

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

أمثلة وتطبيقات

1 - العتاد ذو التمثيل الافتراضي

من العتاديات التي يتوفر لها تمثيل افتراضي:

• سلسلة الحواسيب 3B20D/3B21D المصنَّعة من قبل Alcatel-Lucent والتي جرى تقليدها على حواسيب عادية.

• معالج AMD الذي جرى تمثيله افتراضياً باستخدام رماز سُمي سابقاً Pacifica.

• معالجات MPC8572 و MPC8641Dمن حواسيب PowerPC المنتجة من قبل Freescale .

• حواسيب IBM من النماذج System/370 و System/390 وzSeries.

• التمثيل الافتراضي لمعالجات x86 على Intel VT-x المسمى Vanderpool.

• المعالجان الصغريان UltraSPARC T1 وUltraSPARC T2.

2 - برمجيات آلات افتراضية للتطبيقات والإجرائيات

ومنها:

• آلةp-code المخصَّصة لبرامج Pascal.

• آلة جافا الافتراضيةJava Virtual Machine للبرامج Java، Nice، NetRexx، Scala، Groovy، Clojure، JRuby.

• البنية الأساسية للغات المتعارفة CLI للغات Chttps://www.arab-ency.com.sy/tech/details/284/3#, Visual Basic .NET, Jhttps://www.arab-ency.com.sy/tech/details/284/3#, C++ /CLI.

• آلة Open Firmware التي تسمح للعتاد بإضافة تشخيص عند الإقلاع ورماز تشكيل وسواقات أجهزة تعمل على أي نوع من وحدات المعالجة المركزية.

• آلة Dalvik وهي جزء من أنظمة تشغيل Android.

EiffelStudio الخاص بلغة Eiffel.

3 - برمجيات آلات افتراضية للأنظمة والعتاد

ومنها:

• آلة ATLAS Transformation Language ATL وهي آلة افتراضية للغة تحويل النماذج.

• الآلة Bochs وهي مقلِّد محمول مفتوح المصدر للحواسيب ذات المعالجات x86 وAMD64.

• الآلة CoLinux وهي نظام لينكس مفتوح المصدر ضمن نظام ويندوز.

• الآلة Oracle VM.

• الآلة VMware.

4 - برمجيات آلات افتراضية على مستوى نظام التشغيل

ومنها:

Microsoft Hyper-V

Linux-VServer

FreeBSD Jails

مراجع للاستزادة:

- I. D. Craig, Virtual Machines, Springer; 2005.

- J. J. Donovan, Use of Virtual Machines in Information Systems, Nabu Press, 2011.

- M. Michael and H. Linares, Mastering Virtual Machine Manager 2008 R2, Sybex 2009.


التصنيف : هندسة الحواسيب
النوع : هندسة الحواسيب
المجلد: المجلد الثالث
رقم الصفحة ضمن المجلد : 0
مشاركة :

اترك تعليقك



آخر أخبار الهيئة :

البحوث الأكثر قراءة

هل تعلم ؟؟

عدد الزوار حاليا : 502
الكل : 31190078
اليوم : 15235