آلة افتراضية

في مجال الحوسبة ، تُعرف الآلة الافتراضية ( VM ) بأنها محاكاة أو تقليد لنظام حاسوبي . تعتمد الآلات الافتراضية على بنى حاسوبية وتوفر وظائف الحاسوب الفعلي. قد تتضمن تطبيقاتها أجهزة متخصصة، أو برامج، أو مزيجًا منهما. تختلف الآلات الافتراضية وتُصنف حسب وظائفها، كما هو موضح هنا:
- تُوفّر الآلات الافتراضية للنظام (وتُسمى أيضًا آلات افتراضية كاملة المحاكاة، أو SysVMs [ 1 ] ) بديلًا عن الجهاز الحقيقي. فهي تُوفّر الوظائف اللازمة لتشغيل أنظمة التشغيل بالكامل .يستخدم برنامج إدارة الأجهزة الافتراضية (Hypervisor) التنفيذ الأصلي لمشاركة وإدارة الموارد المادية، مما يسمح بوجود بيئات متعددة معزولة عن بعضها البعض، ولكنها موجودة على نفس الجهاز الفعلي. تستخدم برامج إدارة الأجهزة الافتراضية الحديثة المحاكاة الافتراضية المدعومة بالموارد المادية ، حيث تُقدّم ميزات الموارد المادية الخاصة بالمحاكاة الافتراضية على وحدات المعالجة المركزية المضيفة الدعم لبرامج إدارة الأجهزة الافتراضية.
- تم تصميم الآلات الافتراضية للعمليات لتنفيذ برامج الكمبيوتر في بيئة مستقلة عن النظام الأساسي.
صُممت بعض برامج محاكاة الآلات الافتراضية، مثل QEMU وبرامج محاكاة أجهزة ألعاب الفيديو ، لمحاكاة (أو "تقليد افتراضي") بنى أنظمة مختلفة، مما يسمح بتشغيل تطبيقات البرامج وأنظمة التشغيل المصممة لوحدة معالجة مركزية أو بنية أخرى. تتيح المحاكاة الافتراضية على مستوى نظام التشغيل تقسيم موارد الحاسوب عبر النواة . ولا يُستخدم هذان المصطلحان بشكل تبادلي.
التعريفات
الأجهزة الافتراضية للنظام
عرّف بوبك وغولدبيرغ "الآلة الافتراضية" في الأصل بأنها "نسخة فعّالة ومعزولة من جهاز حاسوب حقيقي". [ 2 ] ويشمل الاستخدام الحالي الآلات الافتراضية التي لا ترتبط مباشرةً بأي جهاز مادي حقيقي. [ 3 ] يُشار عادةً إلى الجهاز المادي "الحقيقي" الذي يُشغّل الآلة الافتراضية باسم "المضيف"، بينما تُسمى الآلة الافتراضية المُحاكاة على هذا الجهاز "الضيف". يمكن للمضيف محاكاة عدة ضيوف، كل منهم قادر على محاكاة أنظمة تشغيل ومنصات أجهزة مختلفة.
كانت الرغبة في تشغيل أنظمة تشغيل متعددة الدافع الأساسي وراء ظهور الآلات الافتراضية، وذلك لإتاحة مشاركة الوقت بين عدة أنظمة تشغيل أحادية المهمة. ويمكن اعتبار الآلة الافتراضية للنظام، من بعض النواحي، تعميمًا لمفهوم الذاكرة الافتراضية الذي سبقها تاريخيًا. وقد طبّق نظام CP/CMS من شركة IBM ، وهو أول نظام يسمح بالمحاكاة الافتراضية الكاملة ، مشاركة الوقت من خلال تزويد كل مستخدم بنظام تشغيل أحادي المستخدم، وهو نظام مراقبة المحادثة (CMS). وعلى عكس الذاكرة الافتراضية، فإن الآلة الافتراضية للنظام تُخوّل المستخدم كتابة تعليمات ذات امتيازات خاصة في شفرته البرمجية. وقد تميّز هذا النهج بمزايا معينة، مثل إضافة أجهزة إدخال/إخراج غير مسموح بها في النظام القياسي. [ 3 ]
مع تطور تقنية الذاكرة الافتراضية لأغراض المحاكاة الافتراضية، قد تُطبَّق أنظمة جديدة لتخصيص الذاكرة الزائد لإدارة مشاركة الذاكرة بين عدة أجهزة افتراضية على نظام تشغيل واحد. قد يكون من الممكن مشاركة صفحات الذاكرة ذات المحتويات المتطابقة بين عدة أجهزة افتراضية تعمل على نفس الجهاز الفعلي، مما قد يؤدي إلى ربطها بنفس الصفحة الفعلية باستخدام تقنية تُسمى دمج الصفحات المتطابقة في النواة (KSM). يُعد هذا مفيدًا بشكل خاص للصفحات للقراءة فقط، مثل تلك التي تحتوي على مقاطع برمجية، وهو الحال بالنسبة لعدة أجهزة افتراضية تُشغِّل نفس البرامج أو برامج مشابهة، أو مكتبات البرامج، أو خوادم الويب، أو مكونات البرمجيات الوسيطة ، وما إلى ذلك. لا تحتاج أنظمة التشغيل الضيفة إلى التوافق مع مكونات الجهاز المضيف، مما يُتيح تشغيل أنظمة تشغيل مختلفة على نفس الحاسوب (مثل ويندوز ، أو لينكس ، أو إصدارات سابقة من نظام التشغيل) لدعم البرامج المستقبلية. [ 4 ]
يُعدّ استخدام الآلات الافتراضية لدعم أنظمة تشغيل ضيف منفصلة شائعًا في الأنظمة المدمجة . ومن الاستخدامات الشائعة تشغيل نظام تشغيل في الوقت الحقيقي بالتزامن مع نظام تشغيل معقد مفضل، مثل لينكس أو ويندوز. كما يُستخدم أيضًا لتشغيل برامج جديدة وغير مجرّبة لا تزال في مرحلة التطوير، وذلك داخل بيئة معزولة . وتتمتع الآلات الافتراضية بمزايا أخرى لتطوير أنظمة التشغيل، منها تحسين إمكانية الوصول لتصحيح الأخطاء وإعادة التشغيل بشكل أسرع. [ 5 ]
يتم استخدام العديد من الأجهزة الافتراضية التي تعمل بنظام تشغيل ضيف خاص بها بشكل متكرر لدمج الخوادم. [ 6 ]
معالجة الآلات الافتراضية
تعمل الآلة الافتراضية للعمليات ، والتي تُسمى أحيانًا الآلة الافتراضية للتطبيقات أو بيئة التشغيل المُدارة (MRE)، كتطبيق عادي داخل نظام التشغيل المضيف، وتدعم عملية واحدة. يتم إنشاؤها عند بدء تلك العملية، وتُحذف عند إغلاقها. والغرض منها هو توفير بيئة برمجة مستقلة عن النظام الأساسي ، تُخفي تفاصيل الأجهزة أو نظام التشغيل الأساسي، وتسمح للبرنامج بالتنفيذ بنفس الطريقة على أي نظام أساسي. [ 7 ]
توفر الآلة الافتراضية للعمليات تجريدًا عالي المستوى - تجريد لغة برمجة عالية المستوى (مقارنةً بتجريد مجموعة تعليمات المعالج منخفض المستوى للآلة الافتراضية للنظام). تُنفذ الآلات الافتراضية للعمليات باستخدام مترجم فوري ؛ ويمكن تحقيق أداء مماثل للغات البرمجة المترجمة باستخدام الترجمة الفورية .
أصبح هذا النوع من الآلات الافتراضية شائعًا مع لغة البرمجة جافا ، التي تُنفذ باستخدام آلة جافا الافتراضية . ومن الأمثلة الأخرى آلة باروت الافتراضية وإطار عمل .NET ، الذي يعمل على آلة افتراضية تُسمى وقت تشغيل اللغة المشتركة . ويمكن لجميعها أن تُشكل طبقة تجريدية لأي لغة برمجة.
تُعدّ الآلات الافتراضية المُعالجة حالةً خاصةً من الأنظمة التي تُجرّد آليات الاتصال في مجموعة حاسوبية (قد تكون غير متجانسة) . لا تتكون هذه الآلة الافتراضية من عملية واحدة، بل من عملية واحدة لكل جهاز فعلي في المجموعة. صُممت هذه الآلات لتسهيل برمجة التطبيقات المتزامنة، إذ تُمكّن المبرمج من التركيز على الخوارزميات بدلاً من آليات الاتصال التي توفرها الشبكة البينية ونظام التشغيل. وهي لا تُخفي حقيقة حدوث الاتصال، وبالتالي لا تُحاول تقديم المجموعة كجهاز واحد.
بخلاف أنظمة الآلات الافتراضية الأخرى، لا توفر هذه الأنظمة لغة برمجة محددة، بل هي مضمنة في لغة موجودة؛ وعادةً ما يوفر هذا النظام روابط لعدة لغات (مثل C و Fortran ). ومن الأمثلة على ذلك الآلة الافتراضية المتوازية (PVM) وواجهة تمرير الرسائل (MPI).
تاريخ
يعود تاريخ كل من الآلات الافتراضية للنظام والآلات الافتراضية للعمليات إلى ستينيات القرن الماضي، ولا تزال هذه المجالات تشهد تطوراً نشطاً.
نشأت الآلات الافتراضية للنظام من تقنية المشاركة الزمنية ، كما هو الحال في نظام المشاركة الزمنية المتوافق (CTSS). سمحت المشاركة الزمنية لعدة مستخدمين باستخدام جهاز كمبيوتر واحد في وقت واحد : إذ يبدو أن لكل برنامج وصولًا كاملًا إلى الجهاز، ولكن يتم تنفيذ برنامج واحد فقط في كل مرة، حيث ينتقل النظام بين البرامج على فترات زمنية محددة، ويحفظ الحالة ويستعيدها في كل مرة. تطور هذا المفهوم إلى الآلات الافتراضية، لا سيما من خلال أنظمة البحث والتطوير لشركة IBM: M44/44X ، الذي استخدم المحاكاة الافتراضية الجزئية ، و CP-40 و SIMMON ، اللذان استخدما المحاكاة الافتراضية الكاملة ، وكانا من أوائل الأمثلة على برامج إدارة الأجهزة الافتراضية (Hypervisors ). كان أول تصميم للآلات الافتراضية متاحًا على نطاق واسع هو CP-67 /CMS (انظر تاريخ CP/CMS لمزيد من التفاصيل). كان من المهم التمييز بين استخدام عدة آلات افتراضية على نظام مضيف واحد للمشاركة الزمنية، كما في M44/44X وCP-40، واستخدام آلة افتراضية واحدة على نظام مضيف لأغراض النماذج الأولية، كما في SIMMON. يعود تاريخ أجهزة المحاكاة ، مع محاكاة الأجهزة للأنظمة السابقة من أجل التوافق، إلى نظام IBM System/360 في عام 1963، [ 8 ] [ 9 ] بينما تسبق محاكاة البرامج (التي كانت تسمى آنذاك "المحاكاة") ذلك.
نشأت الآلات الافتراضية للعمليات في الأصل كمنصات مجردة للغة وسيطة تُستخدم كتمثيل وسيط للبرنامج بواسطة المُصرّف ؛ وتعود الأمثلة المبكرة إلى حوالي عام 1964 مع نظام كتابة المُصرّف META II الذي استخدمها لوصف بناء الجملة وتوليد الكود المستهدف. ومن الأمثلة البارزة عام 1966 آلة O-code ، وهي آلة افتراضية تُنفّذ كود O (كود الكائن) الصادر من الواجهة الأمامية لمُصرّف BCPL . سمح هذا التجريد بنقل المُصرّف بسهولة إلى بنية جديدة من خلال تنفيذ واجهة خلفية جديدة تأخذ كود O الموجود وتُصرّفه إلى كود الآلة للجهاز المادي الأساسي. استخدمت لغة Euler تصميمًا مشابهًا، حيث سُمّيت اللغة الوسيطة P (قابلة للنقل). [ 10 ] انتشر هذا التصميم حوالي عام 1970 بفضل لغة Pascal ، ولا سيما في نظام Pascal-P (1973) ومُصرّف Pascal-S (1975)، حيث أُطلق عليها اسم p-code، وأُطلق على الآلة الناتجة اسم آلة p-code . كان لهذا تأثير كبير، ولذا تُعرف الآلات الافتراضية في هذا السياق باسم آلات p-code. فضلًا عن كونها لغة وسيطة، كان يتم تنفيذ p-code الخاص بلغة باسكال مباشرةً بواسطة مترجم يُنفذ الآلة الافتراضية، لا سيما في باسكال UCSD (1978)؛ وقد أثر ذلك على المترجمات اللاحقة، وخاصة آلة جافا الافتراضية (JVM). ومن الأمثلة المبكرة الأخرى SNOBOL4 (1967)، التي كُتبت بلغة تنفيذ SNOBOL (SIL)، وهي لغة تجميع للآلة الافتراضية، والتي تم توجيهها لاحقًا إلى الآلات المادية عن طريق تحويلها إلى لغة التجميع الأصلية الخاصة بها عبر مُجمِّع ماكرو . [ 11 ] إلا أن استخدام وحدات الماكرو تراجع منذ ذلك الحين، لذا أصبح هذا النهج أقل تأثيرًا. كانت الآلات الافتراضية للعمليات نهجًا شائعًا لتنفيذ برامج الحواسيب الصغيرة المبكرة، بما في ذلك Tiny BASIC وألعاب المغامرات، بدءًا من التطبيقات الفردية مثل Pyramid 2000 وصولًا إلى محرك للأغراض العامة مثل z-machine من Infocom ، والذي يجادل غراهام نيلسون بأنه "ربما يكون أكثر الآلات الافتراضية قابلية للنقل على الإطلاق". [ 12 ]
شهدت لغة Smalltalk -80 تطورات ملحوظة في تطبيقها ، [ 13 ] لا سيما تطبيق Deutsch/Schiffmann [ 14 ] الذي دفع بتقنية الترجمة الفورية (JIT) كنهج تنفيذي يستخدم آلة افتراضية للعمليات. [ 15 ] ومن أبرز الآلات الافتراضية اللاحقة للغة Smalltalk: VisualWorks ، وآلة Squeak الافتراضية ، [ 16 ] و Strongtalk . [ 17 ] كما برزت لغة البرمجة Self [ 18 ] كلغة ذات صلة، والتي قدمت ابتكارات عديدة في مجال الآلات الافتراضية ، حيث كانت رائدة في التحسين التكيفي [ 19 ] وجمع البيانات المهملة التوليدي . وقد أثبتت هذه التقنيات نجاحها التجاري في عام 1999 في آلة HotSpot Java الافتراضية. [ 20 ] وتشمل الابتكارات الأخرى آلة افتراضية قائمة على المسجلات، لمطابقة أفضل للأجهزة الأساسية، بدلاً من آلة افتراضية قائمة على المكدس، والتي تُعد أكثر ملاءمة للغة البرمجة؛ وقد رُوّج لهذا النهج في عام 1995 من خلال آلة Dis الافتراضية للغة Limbo .
تقنيات المحاكاة الافتراضية

محاكاة افتراضية كاملة
في المحاكاة الافتراضية الكاملة، تحاكي الآلة الافتراضية مكونات ما يكفي من الأجهزة للسماح بتشغيل نظام تشغيل "ضيف" غير معدل (مصمم لنفس مجموعة التعليمات ) بشكل مستقل. وقد طُبّق هذا النهج لأول مرة عام 1966 مع جهازي IBM CP-40 و CP-67 ، وهما من أسلاف عائلة الآلات الافتراضية .
تشمل الأمثلة خارج مجال الحواسيب المركزية Parallels Workstation و Parallels Desktop for Mac و VirtualBox و Virtual Iron و Oracle VM و Virtual PC و Virtual Server و Hyper-V و VMware Fusion و VMware Workstation و VMware Server (الذي تم إيقافه، وكان يسمى سابقًا GSX Server) و VMware ESXi و QEMU و Adeos و Mac-on-Linux و Win4BSD و Win4Lin Pro وتقنية Egenera vBlade.
المحاكاة الافتراضية المدعومة بالأجهزة
في تقنية المحاكاة الافتراضية المدعومة بالأجهزة، توفر الأجهزة دعمًا معماريًا يُسهّل بناء نظام مراقبة للآلة الافتراضية، ويسمح بتشغيل أنظمة التشغيل الضيفة بشكل منفصل. [ 21 ] طُرحت تقنية المحاكاة الافتراضية المدعومة بالأجهزة لأول مرة على نظام IBM System/370 عام 1972، لاستخدامها مع VM/370 ، وهو أول نظام تشغيل للآلات الافتراضية قدمته IBM كمنتج رسمي. [ 22 ]
في عامي 2005 و2006، قدمت شركتا إنتل وإيه إم دي أجهزة إضافية لدعم تقنية المحاكاة الافتراضية. كما أضافت شركة صن مايكروسيستمز (التي استحوذت عليها شركة أوراكل ) ميزات مماثلة في معالجات سلسلة UltraSPARC T الخاصة بها في عام 2005. ومن أمثلة منصات المحاكاة الافتراضية المُكيّفة مع هذه الأجهزة: KVM ، وVMware Workstation ، و VMware Fusion ، و Hyper-V ، و Windows Virtual PC ، وXen ، و Parallels Desktop for Mac ، وOracle VM Server for SPARC ، و VirtualBox ، و Parallels Workstation .
في عام 2006، تبين أن دعم الجيل الأول من معالجات x86 ذات 32 و 64 بت نادراً ما يوفر مزايا في الأداء مقارنةً بتقنية المحاكاة الافتراضية البرمجية. [ 23 ]
المحاكاة الافتراضية على مستوى نظام التشغيل
في تقنية المحاكاة الافتراضية على مستوى نظام التشغيل، يتم محاكاة خادم فعلي على مستوى نظام التشغيل، مما يتيح تشغيل عدة خوادم افتراضية معزولة وآمنة على خادم فعلي واحد. تشترك بيئات أنظمة التشغيل "الضيفة" في نفس نسخة نظام التشغيل التي يستخدمها النظام المضيف. وبالتالي، تُستخدم نواة نظام التشغيل نفسها لتنفيذ بيئات "الضيفة"، وتتعامل التطبيقات التي تعمل في بيئة "ضيفة" معينة معها كنظام مستقل. كان نظام FreeBSD jails هو التطبيق الرائد لهذه التقنية ؛ ومن الأمثلة الأخرى: Docker ، وSolaris Containers ، وOpenVZ ، و Linux-VServer ، وLXC ، وAIX Workload Partitions ، وParallels Virtuozzo Containers، وiCore Virtual Accounts.
لقطات
اللقطة هي حالة الجهاز الظاهري، ووحدات التخزين الخاصة به عمومًا، في لحظة زمنية محددة. تُمكّن اللقطة من استعادة حالة الجهاز الظاهري وقت التقاطها لاحقًا، مما يُلغي فعليًا أي تغييرات حدثت بعد ذلك. تُعد هذه الخاصية مفيدة كتقنية نسخ احتياطي ، على سبيل المثال، قبل تنفيذ عملية محفوفة بالمخاطر. [ 24 ]
تستخدم الآلات الافتراضية عادةً أقراصًا افتراضية للتخزين؛ في مثال بسيط جدًا، تتم محاكاة قرص صلب بسعة 10 جيجابايت باستخدام ملف نصي بنفس السعة. تُترجم أي طلبات من الآلة الافتراضية لموقع على قرصها الفعلي تلقائيًا إلى عملية على الملف المقابل. بمجرد وجود طبقة الترجمة هذه، يصبح من الممكن اعتراض العمليات وإرسالها إلى ملفات مختلفة، بناءً على معايير متعددة. في كل مرة تُؤخذ فيها لقطة، يُنشأ ملف جديد ويُستخدم كطبقة فوق الملفات السابقة. تُكتب البيانات الجديدة إلى الطبقة العلوية؛ أما قراءة البيانات الموجودة فتتطلب مسح التسلسل الهرمي للطبقات، مما يؤدي إلى الوصول إلى أحدث إصدار. بالتالي، تُشكل مجموعة اللقطات بأكملها قرصًا واحدًا متماسكًا؛ وبهذا المعنى، يعمل إنشاء اللقطات بشكل مشابه لتقنية النسخ الاحتياطي التزايدي .
يمكن أيضًا تضمين مكونات أخرى من الآلة الافتراضية في لقطة، مثل محتويات ذاكرة الوصول العشوائي (RAM) وإعدادات BIOS أو إعدادات التكوين. وتُعد ميزة " حفظ الحالة " في محاكيات أجهزة ألعاب الفيديو مثالًا على هذه اللقطات.
تتضمن عملية استعادة اللقطة التخلص من جميع طبقات التراكب التي تمت إضافتها بعد تلك اللقطة، وتوجيه جميع التغييرات الجديدة إلى طبقة تراكب جديدة.
الهجرة
يمكن نقل اللقطات المذكورة أعلاه إلى جهاز مضيف آخر مزود ببرنامج إدارة الأجهزة الافتراضية الخاص به؛ وعندما يتم إيقاف الجهاز الافتراضي مؤقتًا، ثم أخذ لقطة منه، ونقله، ثم استئناف تشغيله على المضيف الجديد، تُعرف هذه العملية باسم الترحيل. إذا تم الحفاظ على مزامنة اللقطات القديمة بانتظام، يمكن أن تتم هذه العملية بسرعة كبيرة، مما يسمح للجهاز الافتراضي بتقديم خدمة متواصلة أثناء إيقاف تشغيل مضيفه الفعلي السابق، على سبيل المثال، للصيانة.
تجاوز الفشل
على غرار آلية الترحيل المذكورة أعلاه، يسمح تجاوز الفشل للجهاز الظاهري بمواصلة العمليات في حال تعطل المضيف. ويحدث هذا عادةً عند توقف عملية الترحيل. ولكن في هذه الحالة، يستأنف الجهاز الظاهري العمل من آخر حالة متسقة معروفة، وليس من الحالة الحالية ، وذلك استنادًا إلى البيانات التي تم تزويد خادم النسخ الاحتياطي بها آخر مرة.
المحاكاة الافتراضية المتداخلة
يشير التداخل الافتراضي إلى إمكانية تشغيل جهاز افتراضي داخل جهاز افتراضي آخر، ويمكن توسيع هذا المفهوم العام إلى أي مستوى. بعبارة أخرى، يشير التداخل الافتراضي إلى تشغيل مُشرف أجهزة افتراضية واحد أو أكثر داخل مُشرف أجهزة افتراضية آخر. لا يشترط أن تكون طبيعة الجهاز الافتراضي الضيف المتداخل متطابقة مع طبيعة الجهاز الافتراضي المضيف؛ فعلى سبيل المثال، يمكن نشر تطبيقات افتراضية داخل جهاز افتراضي تم إنشاؤه باستخدام تقنية المحاكاة الافتراضية للأجهزة . [ 25 ]
تزداد الحاجة إلى المحاكاة الافتراضية المتداخلة مع ازدياد انتشار أنظمة التشغيل التي تتضمن وظائف مُدمجة للمُشرف الافتراضي، والتي لا يُمكن استخدامها في بيئة افتراضية إلا إذا كان المُشرف الافتراضي المُحيط يدعم المحاكاة الافتراضية المتداخلة؛ فعلى سبيل المثال، يُمكن لنظام التشغيل Windows 7 تشغيل تطبيقات Windows XP داخل جهاز افتراضي مُدمج. علاوة على ذلك، يُصبح نقل البيئات الافتراضية الموجودة إلى السحابة، وفقًا لنهج البنية التحتية كخدمة (IaaS)، أكثر تعقيدًا إذا كانت منصة IaaS المُستهدفة لا تدعم المحاكاة الافتراضية المتداخلة. [ 26 ] [ 27 ]
تعتمد طريقة تطبيق المحاكاة الافتراضية المتداخلة على بنية حاسوبية معينة على إمكانيات المحاكاة الافتراضية المدعومة بالأجهزة . إذا لم توفر بنية معينة الدعم المادي اللازم للمحاكاة الافتراضية المتداخلة، تُستخدم تقنيات برمجية متنوعة لتمكينها. [ 26 ] مع مرور الوقت، تكتسب المزيد من البنى دعمًا ماديًا مطلوبًا؛ على سبيل المثال، منذ ظهور بنية Haswell الدقيقة (التي أُعلن عنها في عام 2013)، بدأت شركة إنتل في تضمين تقنية VMCS shadowing لتسريع المحاكاة الافتراضية المتداخلة. [ 28 ]
حماية

تُستخدم الآلات الافتراضية بشكل متكرر لعزل التطبيقات عن بعضها البعض لأغراض أمنية.
يُمكن لهذا التصميم المعماري (المستخدم في أنظمة التشغيل Qubes OS و Whonix و KickSecure و Dangerzone) منع انتشار البرامج الضارة من نظام مُخترق (مثل برنامج بريد إلكتروني يفتح مستندًا مُصابًا ) إلى نظام آخر (مثل مدير كلمات المرور ). [ 29 ] [ 30 ]
انظر أيضاً
مراجع
- ↑ ديتامو، كريستيان (2010). حول التعبير عن نماذج التزامن المختلفة على أنظمة التنفيذ الافتراضية (أطروحة دكتوراه). جامعة بيزا . تاريخ الاسترجاع: 12 مايو 2025 .
- ↑ بوبك، جيرالد ج .؛ غولدبيرغ، روبرت ب. (1974). "المتطلبات الرسمية لبنى الجيل الثالث القابلة للمحاكاة الافتراضية" (ملف PDF) . مجلة اتصالات رابطة مكائن الحوسبة . 17 (7): 412-421 . doi : 10.1145/361011.361073 . S2CID 12680060 .
- 1 2 سميث، جيمس إي.؛ ناير، رافي (2005). "بنية الآلات الافتراضية" . مجلة الكمبيوتر . 38 (5): 32-38 ، 395-396 . Bibcode : 2005Compr..38e..32S . doi : 10.1109/MC.2005.173 . S2CID 6578280 .
- ↑ أوليفانت، باتريك. "الآلات الافتراضية" . الحوسبة الافتراضية. مؤرشف من الأصل بتاريخ 29 يوليو 2016. تم الاطلاع عليه بتاريخ 23 سبتمبر 2015.
يستخدم بعض الأشخاص هذه الإمكانية لإعداد آلة افتراضية منفصلة تعمل بنظام ويندوز على جهاز ماك، مما يتيح لهم الوصول إلى مجموعة كاملة من التطبيقات المتاحة لكلا النظامين الأساسيين.
- ↑ "إعادة تشغيل الخوادم بسرعة فائقة - سبب آخر لروعة تقنية المحاكاة الافتراضية" . vmwarez.com . 9 مايو 2006. مؤرشف من الأصل في 14 يونيو 2006. تم الاطلاع عليه في 14 يونيو 2013 .
- ↑ "توحيد الخوادم واحتوائها باستخدام البنية التحتية الافتراضية" (ملف PDF) . VMware . 2007. مؤرشف (ملف PDF) من الأصل بتاريخ 28-12-2013 . تم الاطلاع عليه بتاريخ 29-09-2015 .
- ↑ "حول تقنية جافا" . أوراكل . تم الاطلاع عليه بتاريخ 22-05-2026 .
- ↑ بو، إيمرسون و. ( 1995). بناء شركة آي بي إم: تشكيل صناعة وتقنياتها . معهد ماساتشوستس للتكنولوجيا. ص 274. ISBN 978-0-262-16147-3.
- ↑ بو، إيمرسون و . وآخرون (1991). أنظمة IBM 360 وأنظمة 370 المبكرة . معهد ماساتشوستس للتكنولوجيا. الصفحات 160-161 . ISBN 978-0-262-16123-7.
- ↑ ويرث، نيكلاوس إميل ؛ ويبر، هيلموت (1966). أويلر: تعميم للغة ألغول، وتعريفها الرسمي: الجزء الثاني، منشورات رابطة آلات الحوسبة . المجلد 9. نيويورك: رابطة آلات الحوسبة . الصفحات 89-99 .
- ↑ غريسولد، رالف إي. التنفيذ الكلي لـ SNOBOL4 . سان فرانسيسكو، كاليفورنيا: دبليو إتش فريمان وشركاه، 1972 ( ISBN) 0-7167-0447-1الفصل الأول.
- ↑ نيلسون، غراهام أ. "حول المترجمين الفوريين" . موقع إنفورم الإلكتروني . مؤرشف من الأصل بتاريخ 3 ديسمبر 2009. تم الاطلاع عليه بتاريخ 7 نوفمبر 2009 .
- ↑ غولدبيرغ، أديل ؛ روبسون، ديفيد (1983). سمول توك-80: اللغة وتطبيقها . سلسلة أديسون-ويسلي في علوم الحاسوب. أديسون-ويسلي . ISBN 978-0-201-11371-6.
- ↑ دويتش، ل. بيتر ؛ شيفمان، آلان م. (1984). "التنفيذ الفعال لنظام سمول توك-80" . POPL . سولت ليك سيتي، يوتا: ACM. doi : 10.1145/800017.800542 . ISBN 0-89791-125-3.
- ↑ أيكوك، جون (2003). "تاريخ موجز لنظام الإنتاج في الوقت المناسب". مجلة ACM للحوسبة، 35 (2): 97-113 . doi : 10.1145/857076.857077 . S2CID 15345671 .
- ↑ إنجلز الابن، دانيال "دان" هنري هولمز ؛ كاهلر، تيد؛ مالوني، جون؛ والاس، سكوت؛ كاي، آلان كورتيس (1997). "العودة إلى المستقبل: قصة سكويك، لغة سمول توك عملية مكتوبة بذاتها". OOPSLA '97: وقائع المؤتمر الثاني عشر لجمعية ACM SIGPLAN حول البرمجة الكائنية والأنظمة واللغات والتطبيقات . نيويورك، نيويورك، الولايات المتحدة الأمريكية: مطبعة ACM. الصفحات 318-326 . doi : 10.1145/263698.263754 . ISBN 0-89791-908-4.
- ↑ براخا، جلعاد ؛ غريسولد، ديفيد (1993). "سترونغ توك: التحقق من أنواع سمول توك في بيئة إنتاجية". وقائع المؤتمر السنوي الثامن حول أنظمة ولغات وتطبيقات البرمجة كائنية التوجه . OOPSLA '93. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 215-230 . doi : 10.1145/165854.165893 . ISBN 978-0-89791-587-8.
- ↑ أونغار، ديفيد مايكل ؛ سميث، راندال ب. (ديسمبر 1987). "الذات: قوة البساطة". إشعارات ACM SIGPLAN . 22 (12): 227-242 . doi : 10.1145/38807.38828 . ISSN 0362-1340 .
- ↑ هولزلي، أورس ؛ أونغار، ديفيد مايكل (1994). "تحسين استدعاءات الإرسال الديناميكي باستخدام التغذية الراجعة لنوع وقت التشغيل" . PLDI . أورلاندو، فلوريدا، الولايات المتحدة: ACM. ص 326-336 . doi : 10.1145/178243.178478 . ISBN 0-89791-662-X.
- ↑ باليتشني، مايكل؛ فيك، كريستوفر؛ كليك، كليف (2001). "مترجم خادم جافا هوت سبوت" (ملف PDF) . وقائع ندوة أبحاث وتكنولوجيا آلة جافا الافتراضية . المجلد 1. مونتيري، كاليفورنيا: جمعية USENIX.
- ↑ أوليغ، ريتش؛ نايغر، جيل؛ رودجرز، ديون؛ سانتوني، آمي ل.؛ مارتينز، فرناندو سي إم؛ أندرسون، أندرو في.؛ بينيت، ستيفن إم .؛ كاغي، آلان؛ ليونغ، فيليكس إتش.؛ سميث، لاري (مايو 2005). "تقنية المحاكاة الافتراضية من إنتل". مجلة الكمبيوتر . 38 (5): 48-56 . رمز Bibcode : 2005Compr..38e..48U . doi : 10.1109/MC.2005.163 . S2CID 18514555 .
- ↑ راندال، أ. (2019). المثالي مقابل الواقعي: إعادة النظر في تاريخ الآلات الافتراضية والحاويات.
- ↑ آدامز، كيث؛ أغيسن، أولي (21 أكتوبر 2006). مقارنة بين تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86 (ملف PDF) . مؤتمر ASPLOS'06، 21-25 أكتوبر 2006، سان خوسيه، كاليفورنيا، الولايات المتحدة الأمريكية. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 20 أغسطس 2010.
من المثير للدهشة أننا وجدنا أن دعم الأجهزة من الجيل الأول نادرًا ما يوفر مزايا في الأداء مقارنةً بتقنيات البرمجيات الحالية. نعزو هذا الوضع إلى ارتفاع تكاليف الانتقال بين بيئة إدارة الأجهزة الافتراضية والضيف، ونموذج برمجة جامد لا يترك مجالًا كبيرًا لمرونة البرمجيات في إدارة كلٍ من وتيرة هذه الانتقالات وتكلفتها.
- ↑ أكرمان، باسكال (2021-10-07). الأمن السيبراني الصناعي: مراقبة فعّالة لوضع الأمن السيبراني لبيئة أنظمة التحكم الصناعية الخاصة بك . دار نشر Packt المحدودة. ص 57. ISBN 978-1-80020-582-6تم الاطلاع عليه بتاريخ 17 نوفمبر 2025 .
- ↑ أوريت واسرمان، ريد هات (2013). "الافتراضية المتداخلة: سلاحف الظل" (ملف PDF) . منتدى KVM . تم الاطلاع عليه بتاريخ 7 مايو 2021 .
- 1 2 مولي بن يهودا؛ مايكل د. داي؛ تسفي دوبيتسكي؛ مايكل فاكتور؛ نداف هرئيل؛ أبيل جوردون؛ أنتوني ليجوري؛ أوريت واسرمان؛ بن عامي ياسور (23-09-2010). "مشروع السلاحف: تصميم وتنفيذ المحاكاة الافتراضية المتداخلة" (PDF) . usenix.org . تم الاسترجاع 2014/12/16 .
- ↑ أليكس فيشمان؛ مايك رابوبورت؛ يفغيني بوديلوفسكي؛ إيزيك إيدوس (25 يونيو 2013). "HVX: تحويل الحوسبة السحابية إلى بيئة افتراضية" (ملف PDF) . rackcdn.com . تاريخ الاسترجاع: 16 ديسمبر 2014 .
- ↑ "معالجات Intel Core vPro من الجيل الرابع مع تقنية Intel VMCS Shadowing" (ملف PDF) . Intel . 2013. تاريخ الاسترجاع: 16 ديسمبر 2014 .
- ↑ "مقدمة" . لماذا نظام التشغيل Qubes؟
- ↑ "عندما يكون الأمن مهماً: العمل مع نظام التشغيل Qubes في صحيفة الغارديان" . مدونة الهندسة في صحيفة الغارديان .
للمزيد من القراءة
- جيمس إي. سميث، رافي ناير، الآلات الافتراضية: منصات متعددة الاستخدامات للأنظمة والعمليات ، مورغان كوفمان، مايو 2005، رقم ISBN 1-55860-910-5، 656 صفحة (تغطي كلاً من العمليات والآلات الافتراضية للنظام)
- كريج، إيان د. الآلات الافتراضية . سبرينغر ، 2006، رقم ISBN 1-85233-969-1، 269 صفحة (تغطي فقط الآلات الافتراضية للعمليات)
روابط خارجية
- مندل روزنبلوم (31 أغسطس 2004). "إعادة تجسيد الآلات الافتراضية" . مجلة ACM Queue . المجلد 2، العدد 5.
- مختبرات سانديا الوطنية تشغل مليون نواة لينكس كأجهزة افتراضية
- تصميم الآلة الافتراضية Inferno من قِبل فيل وينتربوتوم وروب بايك
- الآلات الافتراضية
- تقنية نظام التشغيل
- تنفيذ لغة البرمجة
