تفاوت Virtualization و Emulation در چیست؟

Emulation و Virtualization در نگاه اول دارای شباهت های زیادی هستند اما تفاوت های بنیادی دارند که نباید نادیده گرفته بشن ، متاسفانه خیلی از اساتید و افراد متخصص در حوزه های مجازی سازی به اشتباه این دو مقوله رو یکی در نظر میگیرن ، بر آن شدیم تا این نکته را بنویسیم تا به تفاوت های بنیادی این دو فرآیند اشاره کنیم ، به دلیل امتجانات دانشگاه و ارزشمند بودن بی مانند زمان(برای ما که شب امتحانی میخونیم) در این بازه تاریخی (یک ماه) بصورت خلاصه و با یکی دو مثال به بررسی تفاوت ها میپردازیم .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. بررسی Emulation
  2. بررسی Virtualization

به عنوان مثال ما زمانی که سیستم عامل سیسکو که خاص خود تجهیزات سیسکو طراحی شده رو میایم با تقلید(Emulate) کردن دستگاه بر روی GNS3 نصب میکنیم عمل Emulation رو انجام دادیم ، اما Virtualization میشه زمانی که ما یک سیستم فیزیکی داریم و میایم اون رو به دو یا بیشتر سیستم مجازی تقسیم میکنیم که هر سیستم محازی حدود مشخص خودش رو داره

بررسی Emulation

در مثال یک نرم افزار سعی در تقلید یک روتر رو داره و بخش بزرگی از توان سیستم صرف این تقلید میشه تا بتونه IOS سیسکو رو مجاب کنه این سخت افزار Router سیسکو ، مثلا در Wine (ابزار نصب نرم افزار های ویندوزی در لینوکس) یک Emulation صورت میگیره نه Virtualization یا نصب MacOS بر روی کامپیوتر عمل Emulate انجام میگیره ، یا اجرای بازی های PlayStation بر روی PC ، در کل Emulator مثل یک مترجم یا واسط این میان عمل میکنه و منابع زیادی رو تلف میکنه

بررسی Virtualization

در محیط Virtualization شما پلی به نام Emulator رو ندارین و در مصرف منابع به شدت صرفه جویی میکنین ، در مجازی سازی VirtualMachine یا Container بصورت مستقیم با سخت افزار ارتباط داره ، در مجازی سازی مستقیم کد بر روی CPU اجرا میشه اما در Emualtion کد بر روی یک پردازنده مجازی قرار میگیره سپس توسط CPU اصلی پردازش میشه و در آخر جواب به دست نرم افزار یا سیستم Emulate شده میرسه ، در Virtualization پلی به نام Emulator حذف میشه و فقط در اینجا برای مدیریت و نقسیم منابع میاین از Virtualization استفاده میکنین ، امیدوارم که این مطلب مورد توجه دوستان عزیز قرار گرفته باشد.


نظرات