ماشین های مجازی چیست؟
در علم کامپیوتر ماشین مجازی به
انگلیسی: Virtual machine نرمافزاری است که بر روی یک کامپیوتر پیادهسازی میشود. این پیادهسازی بهگونهای است که تصور میشود یک کامپیوتر واقعی در حال اجرای برنامههای ماست
.
تعاریف
و
یک ماشین مجازی، در ابتدا توسط
Popek and Goldberg به صورت "یک نسخه کپی شده از روی یک ماشین واقعی، به صورت کارا و ایزوله شده" تعریف شد. استفادههای کنونی، ماشینهای مجازیای را شامل میشود که هیچ ارتباط با سختافزار واقعی ندارند
.
ماشینهای مجازی، بر اساس استفاده و درجه ارتباط به ماشین واقعی، به دو دسته اصلی تقسیم میشوند. یک ماشین مجازی سیستمی یک زیرساخت محاسباتی کامل را فراهم میکند که از اجرای یک
سیستمعامل کامل پشتیبانی میکند. در مقابل، یک ماشین مجازی فرایند، برای اجرای یک
برنامه واحد طراحی شده، که این به این معناست که صرفاً از یک
فرایند خاص پشتیبانی میکند. یک ویژگی مهم یک ماشین مجازی، این است که نرمافزاری که درون آن در حال اجراست، با منابع و سطوح انتزاعی که توسط ماشین مجازی اعمال میشود، محدود شدهاست – یعنی نمیتواند از دنیای مجازی خود خارج شود
.
VMware Workstation نام نرم افزاری مشهور در زمینه ساخت هارد دیسک های مجازی و سیستم عامل های مجازی می باشد. به کمک این برنامه و محیط موجود در آن کاربر قادر به نصل هر نوع سیستم عاملی در آن می باشد. همچنین شما قادر خواهید بود تا با این نرم افزار علاوه بر استفاده همزمان از چند سیستم عامل از ویژگی مدیریت وظایف موجود در برنامه نیز برای سوئیچ نمودن مابین سیستم عامل های موجود در محیط مجازی استفاده نمود. استفاده از چنین محیط های مجازی دارای استفاده های مفید و فراوانی می باشد، به عنوان مثال کاربری قصد دارد تا نرم افزاری را که به آن از نظر آلوده بودن به ویروس مشکوک است را استفاده نماید. چنین محیط مجازی برای این کار بسیار مناسب اند زیرا هیچ ارتبطی میان هارد اصلی سیستم و محیط مجازی نیست
.
از ویژگی های این نرم افزار می توان به موارد زیر اشاره کرد:
- قابلیت اجرای سیستم عامل های 64-
bit
- قابلیت کنترل کلیه های پروسه های در حال اجرا
- قابلیت باز کردن وتبدیل فایل های برنامه های مشابه و اجرا نمودن آن ها . به عنوان مثال شما می تواید فایل اصلی نرم افزار
virtual PC را که ویندوز را در آن نصب کرده اید در این برنامه وارد نموده و از آن استفاده کنید.
- قابلیت نمایش سیستم عامل قبل از اجرای آن
- پشتیبانی از سیستم عامل های
Microsoft, Red Hat, SUSE, Ubuntu, Sun Solaris x86, FreeBSD و ....
و بسیاری دیگر از امکانات
VM یا
Virtual Machine چیست؟
نرم افزاری ست که یک ماشین حقیقی (فیزیکی) را به صورت مجازی پیاده سازی می کند.
نخستین بار به وسیله
Popek &
Goldberg ارائه شد.
VM ها به دو دسته تقسیم می شوند:
ماشین مجازی سازی سیستم (
System Virtual Machine)
ماشین مجازی سازی پروسه (
Process Virtual Machine)
آشنایی با
System Virtual Machine – SVM
در این حالت یک پلتفرم ایجاد می شود که می تواند کلیه زیرساخت های لازم برای اجرا شدن
Operating System – OS را فراهم کند.
آشنایی با
Process Virtual Machine – PVM
به منظور اجرای یک برنامه طراحی شده است و تنها از یک پروسه پشتیبانی می کند. و منابح و دسترسی پروسه را محدود به خودش (
VM) می کند و پروسه نمی تواند از دنیای مجازی ایجاد شده خارج شود.
برای مثال: برنامه های نوشته شده با
Java از طریق
Java Runtime Environment – JRE اجرا می شوند و
JRE نقش یک
VM را بازی می کند (
JRE معادل تکنولوژی .
NET مایکروسافت).
Hypervisor چیست؟
Hypervisor یا
Virtual Machine Monitor به لایه نرم افزاری گفته می شود که محیط مجازی را محیا میکند.
Hypervisor بر دو نوع است:
Native VM
Hosted VM
Native VM:
به
VM ای گفته می شود که در تعامل مستقیم با سخت افزار است به این صورت که اول یک
Native VM نصب می شود سپس
OS ازطریق
Native VM نصب میگردد و منابع
OS از طریق
Native VM اختصاص داده می شود.
از نرم افزارهای
Native VM میتوان به موارد فوق اشاره کرد:
Microsoft Hyper-VServer
VMware ESX andESXi
Hosted VM
به
VM ای گفته می شود که در تعامل مستقیم با سیستم عامل است به این صورت که اول یک
OS نصب می شود سپس یک
Hosted VM نصب میگردد و
OS ها درون
Hosted VM قرار می گیرند.
از نرم افزارهای
Native VM میتوان به موارد فوق اشاره کرد:
Microsoft VirtualPC
MicrosoftHyper-V
VMwareWorkstation
Sun MicrosystemsVirtual Box
مزیت های اصلی استفاده از
VM ها :
چندین
OS میتوانند در کنار هم و به صورت کاملا ایزوله روی یک سرور (فیزیکی) نصب شوند.
نگهداری راحت تر است.
دسترسی بالا (
High Availability)
بازیابی راحت تر است.
مزیت اصلی استفاده از
OS ها :
OS ها دسترسی مستقیم به سخت افزار را دارند در مقابل دسترسی غیر مستقیم
VM ها به سخت افزار. که در مورد
Hosted VM ها صادق است ولی در مقایسه با
Native VM ها یک مزیت محسوب نمی شود.