یک ماشین مجازی واقعاً چیست
یک Virtual Machine (VM) یک محیط ایجادشده توسط نرمافزار است که مانند یک کامپیوتر کامل و مستقل رفتار میکند، قادر به اجرای سیستمعامل و برنامههای خودش، حتی اگر واقعاً همان سختافزار فیزیکی زیربنایی را با ماشینهای مجازی دیگر به اشتراک بگذارد.
نرمافزاری که این کار را ممکن میکند
یک لایه نرمافزاری خاص به نام Hypervisor (که Virtual Machine Monitor نیز نامیده میشود) بین سختافزار فیزیکی و هر ماشین مجازی قرار میگیرد، و هر تلاش یک سیستمعامل مهمان برای دسترسی به منابع سختافزاری واقعی مانند پردازنده، حافظه، و ذخیرهسازی را رهگیری و مدیریت میکند.
سختافزار فیزیکی
↓
هایپروایزر
↙ ↓ ↘
VM 1 VM 2 VM 3
(هرکدام در حال اجرای
سیستمعامل مستقل خودش)پشتیبانی سختافزاری چگونه مجازیسازی را بهبود میبخشد
مجازیسازی اولیه بهشدت به تکنیکهای نرمافزاری برای رهگیری و ترجمه عملیاتهای ممتاز متکی بود، که سربار کارایی معناداری معرفی میکرد. پردازندههای امروزی، از جمله بسیاری از پیادهسازیهای RISC-V، شامل Hardware Virtualization Extensions اختصاصی هستند که اجازه میدهند دستورات ممتاز یک سیستمعامل مهمان با سربار بسیار کمتری مدیریت شوند، چون خود پردازنده میتواند مستقیماً بسیاری از عملیاتهای مرتبط با مجازیسازی را تشخیص و مدیریت کند بهجای نیاز به دخالت هایپروایزر در نرمافزار برای هر تک عملیات.
چرا ایزولهسازی اهمیت دارد
یک ویژگی حیاتی ماشینهای مجازی Isolation است: یک خطا، کرش، یا نقض امنیتی درون یک ماشین مجازی نباید بتواند روی دیگرانی که همان سختافزار فیزیکی را به اشتراک میگذارند تأثیر بگذارد. این ایزولهسازی توسط هایپروایزر اجرا میشود، که با دقت دسترسی هر ماشین مجازی به حافظه و سایر منابع را کنترل میکند، و از خواندن یا خراب کردن داده یک مهمان دیگر توسط یک مهمان جلوگیری میکند.
کاربردهای عملی ماشینهای مجازی
Server Consolidation: اجرای چند بار کاری با بار سبک بهعنوان ماشینهای مجازی مجزا روی یک سرور فیزیکی قدرتمند بهجای اختصاص یک ماشین فیزیکی کامل به هر بار کاری، که بهرهبرداری کلی از سختافزار را بهبود میبخشد.Testing and Development: اجرای نسخهها یا پیکربندیهای مختلف سیستمعامل روی همان ماشین فیزیکی بدون نیاز به سختافزار اختصاصی جداگانه برای هرکدام.Security Isolation: اجرای یک برنامه غیرقابلاعتماد یا آزمایشی درون ماشین مجازی خودش، که آسیب بالقوه را در صورتی که آن برنامه در نهایت مورد نفوذ قرار گرفته یا مخرب باشد محدود میکند.
چرا این فناوری برای محاسبات مدرن اهمیت دارد
ماشینهای مجازی پایه فنی زیربنای بیشتر پلتفرمهای محاسبات ابری امروزی را تشکیل میدهند، که اجازه میدهند یک ارائهدهنده ابری برشهای دقیقاً اندازهگذاریشده از سختافزار فیزیکی را بهطور همزمان به بسیاری از مشتریان مختلف اجاره دهد، هرکدام باور دارند به کامپیوتر اختصاصی خودشان دسترسی دارند، در حالی که سختافزار زیربنایی به بهرهبرداری کلی بسیار بالاتری نسبت به اختصاص ماشینهای فیزیکی بهطور جداگانه دست مییابد.