ماشین مجازی Virtual Machine
ماشین مجازی یا Virtual Machine چیست؟
ماشین مجازی (Virtual Machine به اختصار VM) یک همسانسازی از سیستمهای رایانهای است. در واقع ماشینهای مجازی میتوانند رفتار و عملکرد یک رایانه فیزیکی را تقلید کنند. معمولا این همسان سازی حاصل ترکیبی از نرمافزار و سختافزارهای ویژه میباشد.
به عبارت سادهتر، ماشین مجازی یک کامپیوتر نرمافزاری – سختافزاری است که مشابه یک کامپیوتر فیزیکی میتواند برنامه یا یک سیستم عامل را اجرا کند. سابقه ماشینهای مجازی به دهه 1960 میلادی برمیگردد.
اغلب ماشینهای مجازی براساس یک معماری رایانهای طراحی میشوند اما برخی از آنها قادر هستند رفتار معماریهای مختلف را همسانسازی کنند و به این ترتیب از عهده اجرای نرم افزارها و سیستم عاملهای طراحی شده برای چند معماری مختلف برمیآیند.
به نرمافزار یا سختافزاری که امکان ایجاد و اجرای یک ماشین مجازی را فراهم میکند Hypervisor (هایپروایزر) گفته میشود. سیستم فیزیکی که ماشین مجازی روی آن اجرا میشود ماشین میزبان (Host Machine) نامیده میشود و هر ماشین مجازی را نیز یک ماشین مهمان (Guest Machine) مینامند.
انواع ماشینهای مجازی و کاربردهای آنها
شاید بتوان گفت محرک اصلی برای شکلگیری ماشینهای مجازی، تمایل کاربران به اجرای همزمان چند سیستم عامل بوده است. ماشینهای مجازی سیستمی (System Virtual Machine) که تحت عنوان ماشینهای با مجازیسازی کامل (Full Virtualization) نیز شناخته میشوند با تقلید رفتار یک ماشین واقعی میتوانند یک سیستم عامل کامل را اجرا کنند. در این مدل با روشهای مختلف و بهرهگیری از تکنیکهای اشتراک زمانی (Time Sharing) امکان ایجاد ماشینهای مجازی مجزا (مدیریت و اشتراک منابع سختافزاری یک ماشین واقعی مابین VM ها) فراهم میشود. این نوع ماشینهای مجازی را میتوان توسعهای از حافظه مجازی (Virtual Memory) به شمار آورد و در کنار کاربردهایی همچون امکان اجرای همزمان چند سیستم عامل، اشکال زدایی آسانتر و بوت سریعتر هنگام توسعه یک سیستم عامل، به منظور تست نرمافزارهای در حال توسعه روی سیستمهای مختلف و همچنین نصب نرمافزارهایی که هنوز در مراحل آزمایشی به سر میبرند یا عملکردشان به طور کامل شناخته شده نیست نیز استفاده میشود. گفتنی است مجازی سازی با کمک سخت افزار (Hardware-assisted Virtualization) رویکردی است که در آن امکان مجازی سازی کامل و کارامد با بهرهگیری از قابلیتهای سختافزار میزبان (به خصوص پردازنده) مهیا میشود. VMware Workstation و Oracle VM VirtualBox دو نمونه از مشهورترین هایپروایزرهای این دسته به شمار میروند.
ماشین مجازی فرایندی (Process Virtual Machine) که به ماشین مجازی اپلیکیشن نیز مشهور است گونه دیگری از VM هاست که مشابه یک اپلیکیشن معمولی در سیستم عامل رایانه میزبان اجرا میشود. هدف از طراحی این ماشینها ایجاد محیطی مستقل از پلتفرم است که امکان اجرای یک برنامه روی هر پلتفرمی را فراهم میآورد (گونهای از برنامه های کراس پلتفرم). این VM ها بر اساس یک مفسر ساخته میشوند و از مشهورترین آنها میتوان به ماشین مجازی جاوا (Java Virtual Machine) و Common Language Runtime اشاره نمود که به ترتیب برای اجرای برنامههای جاوا و برنامههای مبتنی بر .Net Framework طراحی شدهاند.
پیوندهای پیشنهادی تک دیک