روابط سريعة
بالمعنى الأوسع ، فإن المحاكاة الافتراضية هي عملية إنشاء نسخة افتراضية ، بدلاً من نسخة فعلية من شيء ما. الظاهري في هذه الحالة يعني شيئًا مشابهًا تمامًا للأصل بحيث لا يمكن تمييزه عنه بالكاد ، كما هو الحال في العبارة “تقريبًا نفس الشيء”.
المحاكاة الافتراضية هي استخدام برامج الكمبيوتر لتقليد مجموعة محددة من المعلومات. تقوم أداة برمجية محددة ، تُسمى “hypervisor” ، بإنشاء بيئة افتراضية مع برامج ضمن المعلمات المحددة.
هناك العديد من أنواع المحاكاة الافتراضية حيث توجد استخدامات متعددة لها ، لذا سنقيد مناقشتنا لأكثر أنواع المحاكاة الافتراضية شيوعًا.
الأجهزة الظاهرية
هذا هو أكثر أنواع المحاكاة الافتراضية شيوعًا لمعظم المستخدمين. عندما تقوم بتشغيل جهاز ظاهري في VirtualBox ، فأنت تشغل الأجهزة ظاهريا. تتبع محاكيات نظام ألعاب الفيديو نفس المبدأ ، باستخدام برنامج hypervisor لإنشاء معلمات وحدات تحكم لألعاب الفيديو السابقة.
في الأجهزة الافتراضية ، يقوم برنامج Hypervisor بإنشاء جهاز ضيف ، مما يحاكي الأجهزة مثل الشاشة ومحرك الأقراص الصلبة والمعالج. في بعض الحالات ، يمر المشرف ببساطة عبر تكوين الجهاز المضيف. في حالات أخرى ، يكون النظام المنفصل والمستقل كليًا هو التمثيل الافتراضي ، اعتمادًا على احتياجات البيئة.
هذا ليس مثل محاكاة الأجهزة ، وهي عملية أكثر تعقيدًا وأقل مستوى. في مضاهاة الأجهزة ، يتم استخدام البرنامج للسماح لجزء من الأجهزة بمحاكاة أخرى. على سبيل المثال ، يمكن استخدام مضاهاة الأجهزة لتشغيل برنامج x86 على رقائق ARM. يستخدم نظام التشغيل Windows 10 هذا النوع من المضاهاة على نطاق واسع في إستراتيجية نظام تشغيل واحد في كل مكان ، وقد استخدمته Apple في Rosetta عند الانتقال من PowerPC إلى معالجات Intel.
في كثير من الأحيان ، بعض القيود مطلوبة من المحاكاة الافتراضية. غالباً لا يمكن أن يتجاوز hypervisor مواصفات الجهاز المضيف الخاص به. لا يمكنك تشغيل hypervisor مع 10 تيرابايت من تخزين القرص الصلب على قرص 2 تيرابايت. يمكنك محاولة تقديم هذا الرقم بشكل زائف من خلال المشرف ، ولكن ذلك سينهار بسرعة تحت الاستخدام.
الأجهزة الظاهرية هي أبطأ عادة من بيئة الأجهزة الحقيقية. ومع ذلك ، يأتي افتراضية الأجهزة مع مزايا انخفاض التكلفة ، وتنفيذ أسرع ، وزيادة المرونة في النشر – الخصائص التي يتم تقييمها تحت روح “التحرك السريع ” في وادي السيليكون.
تستخدم الأجهزة الظاهرية بمساعدة الأجهزة أجهزة مصممة خصيصًا للمساعدة في عمليات التمثيل الافتراضي. تتضمن بعض المعالجات الحديثة تحسينات للمحاكاة الافتراضية ، مما يسمح بمحاكاة افتراضية أسرع وأكثر سلاسة.
سطح المكتب الافتراضي
يفصل التمثيل البصري على سطح المكتب بيئة سطح المكتب عن الأجهزة الفعلية التي يتفاعل معها المستخدم. بدلاً من تخزين نظام التشغيل وبيئة سطح المكتب وملفات المستخدمين والتطبيقات وغيرها من ملفات المستخدم النهائي على القرص الصلب لجهاز الكمبيوتر الخاص بالمستخدم ، يتم محاكاة سطح المكتب للمستخدم. من وجهة نظر المستخدم ، يبدو أن هذه البيئة هي قرص محلي ، ربما يكون بطيئًا بعض الشيء.
ومع ذلك ، تتم إدارة النظام بالكامل من قبل خادم. يسمح ذلك لمسؤولي النظام بالتحكم الكامل في بيئة سطح المكتب للمستخدمين من نقطة الوصول عن بُعد. من خلال طرح التحديثات على الخادم ، يتم تطبيقها على الفور على المستخدم النهائي ، دون الحاجة إلى الأنفاق ، والوصول الفعلي ، أو ملفات تعريف المستخدم الخاصة بالجهاز. من خلال فصل بيئة سطح المكتب عن الأجهزة التي يتم تشغيلها ، يكون المستخدم متاحًا مجانًا للوصول إلى جهاز الكمبيوتر “الخاص به” من أي كمبيوتر مكتبي.
الشبكة الافتراضية
على غرار النوعين من المحاكاة الظاهرية التي تم ذكرها من قبل ، تحاكي الشبكة الافتراضية طوبولوجيا الشبكة ، ولكنها تفصل بين الأجهزة المستخدمة تقليديًا للإدارة مثل هذه الشبكات. بدلاً من تشغيل الشبكة المادية للتحكم في البنية التحتية ، يقوم hypervisor بإعادة إنشاء هذه الوظيفة في بيئة برامج. يمكن دمج المحاكاة الافتراضية للشبكة مع الوضع الافتراضي للأجهزة ، مما يؤدي إلى إنشاء شبكة برامج من برامج Hypervisor للتواصل مع بعضها البعض. يمكن استخدام محاكاة الشبكة الافتراضية لاختبار وظائف الشبكة ذات المستوى الأعلى وتنفيذها ، مثل موازنة التحميل والجدار الناري بالإضافة إلى أدوار المستوى 2 و 3 مثل التوجيه والتبديل.
الخلاصة
العائق الرئيسي للمحاكاة الافتراضية هي السرعة. البيئات الافتراضية أبطأ عالميًا من البيئات المضيفة التي تعمل على منصات “حقيقية”. لكن السرعة ليست كل ما يهم. في البيئات التي لا يكون فيها أداء الجيل الثاني من المهمة الحرجة ، يمكن للمؤسسات توفير المال وزيادة المرونة باستخدام المحاكاة الافتراضية. يمكن للمستخدمين الفرديين استخدام المحاكاة الظاهرية لمحاكاة بيئات الأجهزة التي لا يمكنهم الوصول إليها ، وتشغيل أنظمة تشغيل متعددة على جهاز كمبيوتر واحد في وقت واحد.