ماشین مجازی چیست؟

امیرحسین بیگدلو 12 ماه قبل

محتویات این صفحه:

سیستم عامل چیست؟

آیا میتوان یک یا چند سیستم عامل در کامپیوتر داشت؟

ماشین مجازی برای چه کاری استفاده میشود؟

سرویس دهندگان ابری چطور از ماشین مجازی استفاده میکنند؟

معایب ماشین مجازی

 

 

ماشین های مجازی (VMs) رایانه هایی هستند که در داخل رایانه های دیگر با استفاده از فرایندی به نام مجازی سازی کار می کنند.

 

ماشین مجازی (VM) یک کامپیوتر مبتنی بر نرم افزار است که در سیستم عامل رایانه دیگری وجود دارد و اغلب برای آزمایش، پشتیبان گیری از داده ها یا اجرای برنامه های SaaS استفاده می شود. برای درک کامل نحوه عملکرد ماشین های مجازی، ابتدا باید بدانید که چگونه نرم افزار و سخت افزار رایانه معمولاً با یک سیستم عامل یکپارچه می شوند.

 

مقاله پیشنهادی: مهندسی داده چیست؟

 

# سیستم عامل چیست؟

رایانه های سنتی از سخت افزار فیزیکی ساخته شده اند، از جمله هارد دیسک، تراشه پردازنده، RAM و غیره. به منظور استفاده از این سخت افزار، رایانه ها به نوعی نرم افزار معروف به سیستم عامل (OS) تکیه می کنند. برخی از نمونه های رایج سیستم عامل ها عبارتند از Mac OSX ، Microsoft Windows ، Linux و Android.

 

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

 

مقاله پیشنهادی: برنامه نویسی شی گرا چیست؟

 

# آیا میتوان یک یا چند سیستم عامل در یک کامپیوتر داشت؟

برخی از کاربران می خواهند بتوانند چندین سیستم عامل را به طور همزمان بر روی یک رایانه اجرا کنند، چه به منظور آزمایش و چه به دلایل دیگری که در بخش زیر ذکر شده است. این را می توان از طریق فرایندی به نام مجازی سازی به دست آورد. در مجازی سازی، یک نرم افزار طوری رفتار می کند که گویی یک کامپیوتر مستقل است. این قطعه نرم افزار ماشین مجازی نامیده می شود که به عنوان رایانه "مهمان" نیز شناخته می شود. (رایانه ای که VM بر روی آن کار می کند "میزبان" نامیده می شود.) مهمان دارای سیستم عامل و سخت افزار مجازی خود است.

 

"سخت افزار مجازی" ممکن است کمی ناهماهنگ به نظر برسد، اما با ترسیم روی سخت افزار واقعی در کامپیوتر میزبان کار می کند. به عنوان مثال ، "هارد دیسک" VM واقعاً یک فایل روی هارد رایانه میزبان است. هنگامی که ماشین مجازی می خواهد یک فایل جدید را ذخیره کند، در واقع باید با سیستم عامل میزبان ارتباط برقرار کند، که این فایل را روی هارد دیسک میزبان می نویسد. از آنجا که سخت افزار مجازی باید این مرحله اضافی از مذاکره با میزبان را برای دسترسی به منابع سخت افزاری انجام دهد، ماشین های مجازی نمی توانند به سرعت رایانه های میزبان خود کار کنند.

 

با مجازی سازی ، یک کامپیوتر می تواند دو یا چند سیستم عامل را اجرا کند. تعداد ماشین های مجازی که می توانند روی یک میزبان اجرا شوند، تنها با منابع موجود میزبان محدود می شود. کاربر می تواند سیستم عامل VM را در پنجره ای مانند سایر برنامه ها اجرا کند، یا می تواند آن را به صورت تمام صفحه اجرا کند تا به نظر برسد و شبیه یک سیستم عامل اصلی باشد.

 

مقاله پیشنهادی: دسترسی پذیری چیست؟

 

# ماشین مجازی برای چه کاری استفاده میشود؟

برخی از رایج ترین دلایلی که افراد ماشین های مجازی را اجرا می کنند عبارتند از:

 

تست - اغلب توسعه دهندگان نرم افزار می خواهند بتوانند برنامه های خود را در محیط های مختلف آزمایش کنند. آنها می توانند از ماشین های مجازی برای اجرای برنامه های خود در سیستم عامل های مختلف بر روی یک کامپیوتر استفاده کنند. این ساده تر و مقرون به صرفه تر از آزمایش روی چندین ماشین فیزیکی مختلف است.

 

اجرای برنامه‌هایی که برای سیستم عامل دیگری طراحی شده است - اگرچه برخی از نرم افزارهای کاربردی فقط برای یک پلت فرم واحد در دسترس هستند، اما یک VM می تواند نرم افزاری را که برای سیستم عامل متفاوت طراحی شده است اجرا کند. به عنوان مثال، یک کاربر Mac که می خواهد نرم افزاری را که برای Windows طراحی شده است اجرا کند، می تواند یک VM ویندوز را بر روی میزبان Mac خود اجرا کند.

 

اجرای برنامه‌های قدیمی - برخی از نرم افزارهای قدیمی را نمی توان در سیستم عامل های مدرن اجرا کرد. کاربرانی که می خواهند این برنامه ها را اجرا کنند می توانند سیستم عامل قدیمی را روی ماشین مجازی اجرا کنند.

 

مقاله پیشنهادی: چرا از rabbitmq استفاده کنیم؟

 

# سرویس‌دهندگان ابری چطور از ماشین مجازی استفاده میکنند؟

چندین ارائه دهنده سرویس‌های ابری، ماشین های مجازی را به مشتریان خود ارائه می دهند. این ماشینهای مجازی معمولاً بر روی سرورهای قدرتمندی زندگی می کنند که می توانند به عنوان میزبان چندین ماشین مجازی عمل کنند و می توانند به دلایل مختلفی مورد استفاده قرار گیرند که در VM مجازی محلی کاربردی نخواهد بود. این شامل:

 

Saas - سرویس Software-as-a-Service یا به اختصار SaaS یک روش مبتنی بر ابر برای ارائه نرم افزار به کاربران است. کاربران SaaS به جای خرید یک برنامه و نصب آن، مشترک یک برنامه می شوند. این برنامه ها عموماً از طریق اینترنت به کاربر ارائه می شوند. اغلب، این ماشینهای مجازی در ابر هستند که محاسبه برنامه های SaaS و همچنین ارائه آنها به کاربران را انجام می دهند. اگر ارائه دهنده ابر دارای یک لبه شبکه توزیع شده از لحاظ جغرافیایی باشد، برنامه کاربردی به کاربر نزدیک تر می شود و در نتیجه عملکرد سریع تری را در پی دارد.

 

Backup - سرویس های VM مبتنی بر ابر برای پشتیبان گیری از داده ها بسیار محبوب هستند، زیرا داده ها از هر کجا قابل دسترسی هستند. به علاوه، VM های ابری افزونگی بهتری را ارائه می دهند، به تعمیر و نگهداری کمتری نیاز دارند و به طور کلی مقیاس بهتری نسبت به مراکز داده فیزیکی دارند. (به عنوان مثال، خرید یک گیگابایت فضای ذخیره سازی اضافی از ارائه دهنده VM به طور کلی بسیار آسان است، اما ساختن یک سرور داده محلی جدید برای آن گیگابایت داده بسیار مشکل تر است.)

 

Hosting services like email and access management - میزبانی این خدمات در VM های ابری به طور کلی سریعتر و مقرون به صرفه تر است و همچنین به حداقل رساندن نگرانی های مربوط به نگهداری و تخلیه کمک می کند.

 

مقاله پیشنهادی: برنامه‌ نویسی دو نفره چیست؟

 

# معایب ماشین‌های مجازی چیستند؟

اگرچه ماشین های مجازی مزایای زیادی را ارائه می دهند که آنها را به گزینه ای عالی برای توسعه دهندگان تبدیل می کند، اما راه حل مناسبی را ارائه نمی دهند. به طور خاص، ماشین های مجازی کارایی سیستم را کاهش داده و پیچیدگی شبکه را افزایش می دهند.

 

 

+ کارایی ماشین های مجازی کمتر است

وقتی برنامه ای را در سیستم عامل بومی کامپیوتر خود اجرا می کنید، سیستم عامل می تواند مستقیماً به منابع سخت افزاری رایانه دسترسی داشته باشد. اما، با یک ماشین مجازی، منابع سخت افزاری پارتیشن بندی شده تنها به صورت غیر مستقیم در دسترس هستند. هنگامی که برنامه ای را روی یک ماشین مجازی اجرا می کنید، VM ابتدا دسترسی به منابع سخت افزاری را از طریق سیستم عامل ماشین میزبان درخواست می کند. این باعث می شود ماشین های مجازی کندتر و ناکارآمدتر از سیستم عامل بومی نصب شده باشند.

 

 

+ ماشین‌های مجازی پیچیدگی شبکه را افزایش میدهند

مدیریت و ایمن سازی شبکه ماشین های فیزیکی می تواند به اندازه کافی چالش برانگیز باشد و افزودن ماشین های مجازی کار را آسان تر نمی کند. اگر قصد دارید از یک ماشین مجازی در پروژه توسعه بعدی خود استفاده کنید، مطمئن شوید که آماده انجام کمی کار IT اضافی برای ایمن نگه داشتن VM خود یا صحبت با تیم فناوری اطلاعات خود هستید.

مطالب مشابه



مونگارد