مجازی سازی و شبیه سازی دو فناوری هستند که معمولاً در درک و تمایز آنها دچار اشتباه میشویم و در فضای آنلاین هم این دو اصطلاح به جای هم استفاده میشوند. چنین ابهامی قابل درک است چون هر دو یک هدف دارند یعنی ایجاد محیطی مجازی که امکان اجرای آن روی یک سیستم عامل میزبان یا یک نرمافزار کامپیوتری وجود داشته باشد.
اما این دو فناوری از نظر شیوه رسیدن به این هدف با هم تفاوت دارند و همین مسئله باعث متمایز شدن مجازی سازی و شبیه سازی میشود.
مجازی سازی چیست؟
در دنیای رایانش مجازی سازی به فرایند ایجاد یک نسخه مجازی از منابع رایانشی سختافزاری یا نرمافزاری گفته میشود. این منابع شامل کامپیوتر، پلتفرمهای سختافزاری، دستگاههای ذخیره اطلاعات، منابع شبکه، سیستم عامل یا نرمافزارهای کامپیوتری هستند.
معمولاً این فرایند با استفاده از یک ناظر ارشد یا ناظر ماشین مجازی (VMM) انجام میشود. در این فرایند یک کامپیوتر فیزیکی به صورت مجازی به چند سرور تقسیم میشود و برای انجام این کار به هر سرور مقدار مشخصی از منابع سیستم میزبان تعلق میگیرد.
به این ترتیب با اجرای سیستمهای میزبان و مهمان بر روی منابع اختصاصی خودشان، این سیستمها میتوانند به صورت محیطهایی کاملاً مستقل به اسم ماشین مجازی کار کنند. در عمل شما میتوانید از طریق تخصیص منابع، چند کامپیوتر مختلف ایجاد کنید.
شبیه سازی چیست؟
در دنیای رایانش شبیه سازی به فرایند ایجاد محیطی گفته میشود که خصوصیات یک سیستم سختافزاری یا نرمافزاری را در یک سیستم کاملاً متفاوت تقلید میکند. این کار از طریق برنامه شبیه ساز (emulator) انجام میشود که برای تقلید خصوصیات یک سیستم مهمان در یک سیستم میزبان طراحی شده است.
این شبیه سازها برای انجام کار خودشان متکی بر یک مفسر هستند. مفسر نرمافزاری است که دستورالعملهای کد سیستم مهمان شبیه سازی شده را خوانده و سپس دستور معادل آن را بر روی سیستم میزبان اجرا میکند.
شبیه سازی برای اجرای بازیهای ویدیویی و نرمافزارهایی که در سیستم میزبان قدیمی شده یا در اصل برای محیطی دیگر طراحی شده اند بسیار مفید است.
تفاوت مجازی سازی و شبیه سازی
تفاوت اصلی بین شبیه سازی و مجازی سازی این است که در مجازی سازی، سیستم مهمان کدها را مستقیماً به زبان سیستم میزبان اجرا میکند اما در شبیه سازی سیستم مهمان نیاز به یک پل نرمافزاری یعنی یک مفسر دارد که کد آن را به زبان سیستم میزبان تبدیل کند.
علاوه بر این از آنجایی که در شبیه سازی، سیستم مهمان بر روی سختافزار فیزیکی میزبان اجرا نمیشود، سرعت آن نسبت به مجازی سازی کمتر است. اما در مجازی سازی، سیستم مهمان دسترسی مستقیمی به منابع سیستم میزبان دارد در نتیجه توان عملیاتی افزایش یافته و سربار به حداقل میرسد.